python opencv如何實(shí)現(xiàn)圖片繪制
這篇文章主要介紹了python opencv如何實(shí)現(xiàn)圖片繪制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
點(diǎn)和圓 :
circle(img,center,radius,color,thickness=None,lineType=None,shift=None)。各參數(shù)意義及作用如下。
- img:待畫圓所在的圖像。
- center:待畫圓的圓心坐標(biāo)。
- radius:待畫圓的半徑。
- color:待畫圓的邊框顏色,顏色格式為bgr格式。就是通道值
- thickness:待畫圓的邊框?qū)挾龋龜?shù)表示邊框?qū)挾?,?fù)數(shù)表示填充圓形。
- lineType:圓邊框線型,可為 0,4,8
- shift:圓心坐標(biāo)和半徑的小數(shù)點(diǎn)位數(shù)
畫點(diǎn)實(shí)際上就是畫半徑很小的實(shí)心圓
import cv2 img = cv2.imread("500x400.jpg") img1=cv2.circle(img,(60,60),30,(0,0,255),-1) #畫一個(gè)紅色實(shí)心圓 img1=cv2.circle(img1,(200,200),50,(255,0,0),3) #畫一個(gè)藍(lán)邊框的圓 cv2.imwrite("linsi.jpg",img1) cv2.waitKey(0)
注意:在img和img1上同時(shí)畫
效果圖:
畫線 :
import cv2 img = cv2.imread("500x400.jpg") img1=cv2.line(img,(10,10),(200,200),(0,255,0),3) #直線 #參數(shù)2 起點(diǎn)坐標(biāo);參數(shù)3 終點(diǎn)坐標(biāo);參數(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 左上角坐標(biāo);參數(shù)3 右下角坐標(biāo);參數(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 橢圓中心 #第三個(gè)參數(shù) 橢圓的長短軸的長度 #第四個(gè)參數(shù) 整個(gè)橢圓的偏轉(zhuǎn)角度(順時(shí)針) #第五個(gè)參數(shù) 圓弧起始角的角度 #第六個(gè)參數(shù) 圓弧終結(jié)角的角度 # 圓弧角度->x軸方向?yàn)?,逆時(shí)針方向?yàn)檎? #第七個(gè)參數(shù) color 線條的顏色 #第八個(gè)參數(shù) 線條的粗細(xì)程度,如果是負(fù)數(shù)表示填充 #第九個(gè)參數(shù) line_type 線條的類型 ??? cv2.imwrite("linsi.jpg",img1) cv2.waitKey(0)
多邊形:
畫多邊形——需要指定每個(gè)頂點(diǎn)的坐標(biāo)
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) #多邊形各頂點(diǎn)坐標(biāo) #數(shù)據(jù)類型必須是np.int32 points = points.reshape(-1,1,2) img1=cv2.polylines(img,[points],True,(0,0,255),3) #畫多邊形 #參數(shù)2 各頂點(diǎn) #參數(shù)3 True表示封閉,F(xiàn)alse表示不封閉 #參數(shù)4 顏色 #參數(shù)5 線條粗細(xì) 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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python Locust負(fù)載測試工具安裝配置使用詳解
本文將提供有關(guān)Python Locust的全面指南,包括安裝和配置、基本概念、性能測試、任務(wù)編寫、報(bào)告生成以及實(shí)際應(yīng)用場景,將通過豐富的示例代碼來幫助深入理解Locust的使用2024-01-01python正則表達(dá)式函數(shù)match()和search()的區(qū)別
match()和search()都是python中的正則匹配函數(shù),那這兩個(gè)函數(shù)有何區(qū)別呢?本文詳細(xì)介紹了這2個(gè)函數(shù)的區(qū)別2021-10-10Python+Pygame實(shí)現(xiàn)趣味足球游戲
這篇文章主要為大家分享了一個(gè)基于Python和Pygame實(shí)現(xiàn)的一個(gè)趣味足球游戲,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-05-05Python?dbm庫利用鍵值對存儲(chǔ)數(shù)據(jù)
Python中的dbm模塊提供了一種輕量級的數(shù)據(jù)庫管理工具,允許開發(fā)者使用鍵值對的形式存儲(chǔ)和檢索數(shù)據(jù),這篇文章將深入介紹dbm庫的使用,探討其基礎(chǔ)功能、高級特性以及實(shí)際應(yīng)用場景2023-12-12Linux(Redhat)安裝python3.6虛擬環(huán)境(推薦)
這篇文章主要介紹了Linux(Redhat)安裝python3.6虛擬環(huán)境,非常不錯(cuò),具有參考借鑒價(jià)值 ,需要的朋友可以參考下2018-05-05Python處理時(shí)間日期坐標(biāo)軸過程詳解
這篇文章主要介紹了Python處理時(shí)間日期坐標(biāo)軸過程詳解,當(dāng)日期數(shù)據(jù)作為圖表的坐標(biāo)軸時(shí)通常需要特殊處理,應(yīng)為日期字符串比較長,容易產(chǎn)生重疊現(xiàn)象,需要的朋友可以參考下2019-06-06