小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

2.3繪圖函數(shù)

 雪柳花明 2017-08-03


[python] view plain copy
  1. import numpy as np  
  2. import cv2  
  3. # Create a black image  
  4. img = np.zeros((512,512,3), np.uint8)  
np.zeros()有兩個(gè)參數(shù),一個(gè)是創(chuàng)建的圖片矩陣大小,另一個(gè)是數(shù)據(jù)類(lèi)型

所謂大小,512,512是指圖片占像素為512x512,3則是指BGR三種顏色

uint8就是每種顏色都是0到255


畫(huà)直線(xiàn)cv2.line()

[python] view plain copy
  1. img = cv2.line(img,(0,0),(511,511),(255,0,0),5)  
cv2.line有五個(gè)參數(shù),圖片名稱(chēng)、起點(diǎn)坐標(biāo)、終點(diǎn)坐標(biāo)、顏色、線(xiàn)寬

圖片名稱(chēng)就是你要在哪張圖片里畫(huà)直線(xiàn),這里是剛才創(chuàng)建的img

起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo)都是二維點(diǎn),(0,0)和(511,511)

顏色對(duì)應(yīng)BGR,(255,0,0)是純藍(lán)色

線(xiàn)寬是線(xiàn)的粗細(xì),這里選為5,不寫(xiě)的話(huà)默認(rèn)是1


畫(huà)矩形cv2.rectangle()

[python] view plain copy
  1. img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)  
cv2.rectangle五個(gè)參數(shù),圖片名稱(chēng)、兩個(gè)對(duì)角點(diǎn)坐標(biāo)、顏色數(shù)組、線(xiàn)寬

與直線(xiàn)只有一點(diǎn)不同就是輸入的兩坐標(biāo)點(diǎn)不是起點(diǎn)和終點(diǎn)而是對(duì)角線(xiàn)的起點(diǎn)和終點(diǎn)。機(jī)械的孩子應(yīng)該懂兩點(diǎn)確定矩形


畫(huà)圓cv2.circle()

[python] view plain copy
  1. img = cv2.circle(img,(447,63), 63, (0,0,255), -1)  
cv2.circle五個(gè)參數(shù),圖片名稱(chēng)、圓心坐標(biāo)、半徑、顏色數(shù)組、線(xiàn)寬

線(xiàn)寬為-1對(duì)封閉圖形來(lái)說(shuō)是內(nèi)部填滿(mǎn),所以畫(huà)出來(lái)的就是紅色的圓面而不是圓形。

上面一點(diǎn)對(duì)所有封閉圖形都適用,包括矩形、圓、橢圓、多邊形等


畫(huà)橢圓cv2.ellipse

[python] view plain copy
  1. img = cv2.ellipse(img,(256,256),(100,50),0,0,180,(0,255,0),-1)  
稍稍復(fù)雜,有八個(gè)參數(shù)。圖像、中心坐標(biāo)、長(zhǎng)軸短軸、旋轉(zhuǎn)角度、顯示的部分、顏色數(shù)組、線(xiàn)寬

中心坐標(biāo)(256,256)

長(zhǎng)軸短軸是(100,50)指長(zhǎng)軸長(zhǎng)100,短軸長(zhǎng)50

旋轉(zhuǎn)角度是指橢圓逆時(shí)針旋轉(zhuǎn)多少度,這里是0

顯示的部分是用極坐標(biāo)中的角度來(lái)刻畫(huà)的一段區(qū)域,從長(zhǎng)軸順時(shí)針(順?。╅_(kāi)始數(shù),第一個(gè)是起始角度,設(shè)為0;第二個(gè)是終點(diǎn)角度,設(shè)為180.這兩個(gè)參數(shù)的作用是只顯示橢圓在長(zhǎng)軸開(kāi)始0到180度之內(nèi)的部分

線(xiàn)寬仍是-1,雖然這里顯示的橢圓是0,180即下半橢圓,但是它會(huì)用Green填滿(mǎn)下半橢圓


畫(huà)多邊形cv2.polylines()

[python] view plain copy
  1. pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)  
  2. pts = pts.reshape((-1,1,2))  
  3. img = cv2.polylines(img,[pts],True,(0,255,255),3)  
polylines有五個(gè)參數(shù),圖像、頂點(diǎn)集、是否閉合、顏色數(shù)組、線(xiàn)寬

pts是用numpy中的array函數(shù)建立的向量集,即點(diǎn)集,最后的np.int32是說(shuō)點(diǎn)的坐標(biāo)數(shù)據(jù)類(lèi)型是int32

reshape是什么意思不太懂,百度了一會(huì)據(jù)說(shuō)是跟通道有關(guān),有點(diǎn)深了以后再研究

在polylines中的True和False代表多邊形是否閉合,True是閉合,F(xiàn)alse是有一條邊空出來(lái),不閉合


寫(xiě)字符cv2.putText()

[python] view plain copy
  1. font = cv2.FONT_HERSHEY_SIMPLEX  
  2. cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)  
八個(gè)參數(shù),圖片、字符串、坐標(biāo)、字體、字號(hào)、顏色數(shù)組、線(xiàn)寬、線(xiàn)條種類(lèi)

字體有很多種,詳情看這里http://docs./2.4/modules/core/doc/drawing_functions.html?highlight=puttext#initfont

線(xiàn)條種類(lèi)看這里,這個(gè)應(yīng)該在畫(huà)直線(xiàn)那一塊講的http://docs./2.4/modules/core/doc/drawing_functions.html?highlight=puttext#line

雖然我也不知道這LINE_AA是啥,百度說(shuō)是鋸齒線(xiàn)


那么就把所有代碼連起來(lái),召喚神龍

[python] view plain copy
  1. cv2.imshow('demo',img)  
  2. cv2.waitKey(0)  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多