python opencv如何實現(xiàn)圖片繪制
這篇文章主要介紹了python opencv如何實現(xiàn)圖片繪制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
點和圓 :
circle(img,center,radius,color,thickness=None,lineType=None,shift=None)。各參數(shù)意義及作用如下。
- img:待畫圓所在的圖像。
- center:待畫圓的圓心坐標。
- radius:待畫圓的半徑。
- color:待畫圓的邊框顏色,顏色格式為bgr格式。就是通道值
- thickness:待畫圓的邊框?qū)挾龋龜?shù)表示邊框?qū)挾?,負?shù)表示填充圓形。
- lineType:圓邊框線型,可為 0,4,8
- shift:圓心坐標和半徑的小數(shù)點位數(shù)
畫點實際上就是畫半徑很小的實心圓
import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.circle(img,(60,60),30,(0,0,255),-1) #畫一個紅色實心圓
img1=cv2.circle(img1,(200,200),50,(255,0,0),3) #畫一個藍邊框的圓
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)
注意:在img和img1上同時畫
效果圖:

畫線 :
import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.line(img,(10,10),(200,200),(0,255,0),3) #直線
#參數(shù)2 起點坐標;參數(shù)3 終點坐標;參數(shù)4 顏色;參數(shù)5 線條寬度
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)
畫矩形:
import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.rectangle(img,(10,10),(30,40),(255,0,0),2) #畫矩形
#參數(shù)2 左上角坐標;參數(shù)3 右下角坐標;參數(shù)4 顏色;參數(shù)5 線條寬度
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)
橢圓:
import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.ellipse(img,(256,256),(100,50),0,30,180,(255,0,0),-1) # 畫橢圓
#參數(shù)2 橢圓中心
#第三個參數(shù) 橢圓的長短軸的長度
#第四個參數(shù) 整個橢圓的偏轉(zhuǎn)角度(順時針)
#第五個參數(shù) 圓弧起始角的角度
#第六個參數(shù) 圓弧終結(jié)角的角度
# 圓弧角度->x軸方向為0,逆時針方向為正
#第七個參數(shù) color 線條的顏色
#第八個參數(shù) 線條的粗細程度,如果是負數(shù)表示填充
#第九個參數(shù) line_type 線條的類型 ???
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)
多邊形:
畫多邊形——需要指定每個頂點的坐標
import cv2
import numpy as np
img = cv2.imread("500x400.jpg")
points = np.array([[150,50],[140,140],[200,170],[250,250],[150,50]],np.int32) #多邊形各頂點坐標
#數(shù)據(jù)類型必須是np.int32
points = points.reshape(-1,1,2)
img1=cv2.polylines(img,[points],True,(0,0,255),3) #畫多邊形
#參數(shù)2 各頂點
#參數(shù)3 True表示封閉,F(xiàn)alse表示不封閉
#參數(shù)4 顏色
#參數(shù)5 線條粗細
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)
添加文字 :
import cv2
import numpy as np
img = cv2.imread("500x400.jpg")
font=cv2.FONT_HERSHEY_SIMPLEX
font=cv2.FONT_HERSHEY_DUPLEX
img1=cv2.putText(img,'wo is liming',(80,90), font, 2,(255,255,255),3) #畫文字
#參數(shù)3 位置
#參數(shù)5 字體大小
#參數(shù)7 線型
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python正則表達式函數(shù)match()和search()的區(qū)別
match()和search()都是python中的正則匹配函數(shù),那這兩個函數(shù)有何區(qū)別呢?本文詳細介紹了這2個函數(shù)的區(qū)別2021-10-10
Linux(Redhat)安裝python3.6虛擬環(huán)境(推薦)
這篇文章主要介紹了Linux(Redhat)安裝python3.6虛擬環(huán)境,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下2018-05-05

