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:待畫圓的邊框寬度,正數(shù)表示邊框寬度,負數(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ù) 整個橢圓的偏轉角度(順時針)
#第五個參數(shù) 圓弧起始角的角度
#第六個參數(shù) 圓弧終結角的角度
# 圓弧角度->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)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python?的counter()函數(shù)解析與示例詳解
在?Python?中,?collections?模塊提供了?Counter?類,用于計算可迭代對象中元素的數(shù)量,?Counter?是一個字典的子類,它以元素作為鍵,以元素出現(xiàn)的次數(shù)作為值進行計數(shù),本文給大家介紹Python?的counter()函數(shù),感興趣的朋友一起看看吧2023-08-08
Python獲取時光網(wǎng)電影數(shù)據(jù)的實例代碼
這篇文章主要介紹了Python獲取時光網(wǎng)電影數(shù)據(jù),基本原理是先通過requests庫,通過時光網(wǎng)自帶的電影數(shù)據(jù)API接口,獲取到指定的電影數(shù)據(jù),本文結合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-09-09
淺談pandas中Dataframe的查詢方法([], loc, iloc, at, iat, ix)
下面小編就為大家分享一篇淺談pandas中Dataframe的查詢方法([], loc, iloc, at, iat, ix),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
詳談Python高階函數(shù)與函數(shù)裝飾器(推薦)
下面小編就為大家?guī)硪黄斦凱ython高階函數(shù)與函數(shù)裝飾器(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
解決plt.savefig()和plt.show()方法得到的圖片不一樣問題
這篇文章主要介紹了解決plt.savefig()和plt.show()方法得到的圖片不一樣問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08

