摘要:代碼畫圓圓心位置半徑應(yīng)用在上面繪制的矩形內(nèi)繪制一個圓。字體類型檢查文檔以獲取支持的字體字體比例指定字體大小常規(guī)的東西,如顏色,粗細,線型等。應(yīng)用我們將在圖像上寫白色的幾個字母代碼
Drawing Functions in OpenCV
學(xué)習目標函數(shù)cv2.line(), cv2.circle() , cv2.rectangle(), cv2.ellipse(), cv2.putText() etc
參數(shù)介紹img:需要繪制形狀的圖像
color:顏色的形式. 對于BGR,將作為元組傳遞比如(255,0,0)表示藍色.對于灰度圖,只需要傳遞標量值.
thickness:線或圓形等圖像的厚度.如果對閉合圖像像圓形傳遞“-1”,它將填充形狀. 默認厚度 = 1.
lineType:線的類型.默認情況下,它是8連接的.cv2.LINE_AA 是適合曲線的抗鋸齒線.
1畫線cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
pt1:直線起點
pt2:直線終點
應(yīng)用我們將創(chuàng)建一個黑色圖像,并在其上從左上角到右下角繪制一條藍線。
代碼 :
import numpy as np import cv2 # Create a black image img = np.zeros((512,512,3), np.uint8) # Draw a diagonal blue line with thickness of 5 px cv2.line(img,(0,0),(511,511),(255,0,0),5) cv2.imshow("line",img) cv2.waitKey()2繪制矩形
cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
pt1:矩形左上角坐標
pt2:矩形右下角坐標
應(yīng)用在圖像的右上角繪制一個綠色矩形。
代碼 :
import numpy as np import cv2 # Create a black image img = np.zeros((512,512,3), np.uint8) cv2.rectangle(img,(384,0),(510,128),(0,255,0),3) cv2.imshow("line",img) cv2.waitKey()3畫圓
cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])
center:圓心位置
radius:半徑
應(yīng)用在上面繪制的矩形內(nèi)繪制一個圓。
代碼 :
import numpy as np import cv2 # Create a black image img = np.zeros((512,512,3), np.uint8) cv2.rectangle(img,(384,0),(510,128),(0,255,0),3) cv2.circle(img,(447,63), 63, (0,0,255), -1) cv2.imshow("line",img) cv2.waitKey()4繪制橢圓
cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]])
center:中心位置
axes:軸長度(長軸長度,短軸長度)
angle:橢圓在逆時針方向上的旋轉(zhuǎn)角度
startAngle:主軸順時針方向測量的橢圓弧的起點
endAngle:主軸順時針方向測量的橢圓弧的終點
應(yīng)用在圖像的中心繪制一個半橢圓。
代碼 :
import numpy as np import cv2 # Create a black image img = np.zeros((512,512,3), np.uint8) cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1) cv2.imshow("line",img) cv2.waitKey()5繪制多邊形
cv2.polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])
要繪制多邊形,首先需要頂點坐標.將這些點轉(zhuǎn)換為ROWSx1x2形狀的數(shù)組,其中ROWS是頂點數(shù),它應(yīng)該是int32類型.
應(yīng)用繪制一個帶有四個黃色頂點的小多邊形.
代碼 :
import numpy as np import cv2 # Create a black image img = np.zeros((512,512,3), np.uint8) pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32) pts = pts.reshape((-1,1,2)) cv2.polylines(img,[pts],True,(0,255,255)) cv2.imshow("line",img) cv2.waitKey()
Note:
如果第三個參數(shù)為False,您將獲得連接所有點的折線,而不是閉合形狀.
cv2.polylines()可用于繪制多條線.只需創(chuàng)建要繪制的所有行的列表并將其傳遞給函數(shù), 所有線條都將多帶帶繪制.繪制一組行比為每行調(diào)用cv2.line()要好得多,速度更快.
向圖像添加文字:
cv2.putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])
要將文本放入圖像中,您需要指定以下內(nèi)容。
text:要寫入的文本數(shù)據(jù)
org:您想要放置它的位置坐標(即數(shù)據(jù)開始的左下角)。
fontFace:字體類型(檢查cv2.putText()文檔以獲取支持的字體)
fontScale:字體比例(指定字體大小)
?常規(guī)的東西,如顏色,粗細,線型等。為了更好看,建議使用lineType = cv.LINE_AA。
應(yīng)用我們將在圖像上寫白色的opencv幾個字母.
代碼 :
import numpy as np import cv2 # Create a black image img = np.zeros((512,512,3), np.uint8) font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img,"OpenCV",(10,500), font, 4,(255,255,255),2,cv2.LINE_AA) cv2.imshow("show",img) cv2.waitKey()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41964.html
摘要:游戲開發(fā)實戰(zhàn)主要講解使用來開發(fā)和設(shè)計各類常見游戲的思路和技巧,在介紹相關(guān)特性的同時,還通過游戲開發(fā)實例深入剖析了其內(nèi)在原理,讓讀者不僅知其然,而且知其所以然。HTML5 Canvas游戲開發(fā)實戰(zhàn)主要講解使用HTML5 Canvas來開發(fā)和設(shè)計各類常見游戲的思路和技巧,在介紹HTML5 Canvas相關(guān)特性的同時,還通過游戲開發(fā)實例深入剖析了其內(nèi)在原理,讓讀者不僅知其然,而且知其所以然。在本書...
閱讀 2061·2021-11-23 09:51
閱讀 2202·2021-09-29 09:34
閱讀 3694·2021-09-22 15:50
閱讀 3556·2021-09-22 15:23
閱讀 2559·2019-08-30 15:55
閱讀 699·2019-08-30 15:53
閱讀 3066·2019-08-29 17:09
閱讀 2624·2019-08-29 13:57