日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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()有兩個參數(shù),一個是創(chuàng)建的圖片矩陣大小,另一個是數(shù)據(jù)類型

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

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


畫直線cv2.line()

[python] view plain copy
  1. img = cv2.line(img,(0,0),(511,511),(255,0,0),5)  
cv2.line有五個參數(shù),圖片名稱、起點坐標、終點坐標、顏色、線寬

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

起點坐標和終點坐標都是二維點,(0,0)和(511,511)

顏色對應(yīng)BGR,(255,0,0)是純藍色

線寬是線的粗細,這里選為5,不寫的話默認是1


畫矩形cv2.rectangle()

[python] view plain copy
  1. img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)  
cv2.rectangle五個參數(shù),圖片名稱、兩個對角點坐標、顏色數(shù)組、線寬

與直線只有一點不同就是輸入的兩坐標點不是起點和終點而是對角線的起點和終點。機械的孩子應(yīng)該懂兩點確定矩形


畫圓cv2.circle()

[python] view plain copy
  1. img = cv2.circle(img,(447,63), 63, (0,0,255), -1)  
cv2.circle五個參數(shù),圖片名稱、圓心坐標、半徑、顏色數(shù)組、線寬

線寬為-1對封閉圖形來說是內(nèi)部填滿,所以畫出來的就是紅色的圓面而不是圓形。

上面一點對所有封閉圖形都適用,包括矩形、圓、橢圓、多邊形等


畫橢圓cv2.ellipse

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

中心坐標(256,256)

長軸短軸是(100,50)指長軸長100,短軸長50

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

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

線寬仍是-1,雖然這里顯示的橢圓是0,180即下半橢圓,但是它會用Green填滿下半橢圓


畫多邊形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有五個參數(shù),圖像、頂點集、是否閉合、顏色數(shù)組、線寬

pts是用numpy中的array函數(shù)建立的向量集,即點集,最后的np.int32是說點的坐標數(shù)據(jù)類型是int32

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

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


寫字符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)  
八個參數(shù),圖片、字符串、坐標、字體、字號、顏色數(shù)組、線寬、線條種類

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

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

雖然我也不知道這LINE_AA是啥,百度說是鋸齒線


那么就把所有代碼連起來,召喚神龍

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多