OpenCV是一個(gè)很出名的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)庫,通過OpenCV我們可以實(shí)現(xiàn)很多有趣的功能。對(duì)于python開發(fā)者而言,OpenCV提供了相關(guān)的接口,接下來我們就來看看python怎么使用OpenCV實(shí)現(xiàn)一些簡(jiǎn)單的繪圖功能吧。
本文實(shí)例為大家分享了OpenCV實(shí)現(xiàn)繪圖功能的具體代碼,供大家參考,具體內(nèi)容如下
繪制一個(gè)圖像在上面畫線:
import numpy as np
import matplotlib.pyplot as plt
import cv2
#畫圖
def show(image):
plt.imshow(image)
plt.axis('off')
plt.show()
image = np.zeros((300,300,3),dtype='uint8')
#畫線
green = (0,255,0)
cv2.line(image,(0,0),(300,300),green)#(0,0)開始點(diǎn),(300,300)是結(jié)束點(diǎn)
#注意opencv的(0,0)點(diǎn)是從左上角開始的
blue = (0,0,225)
cv2.line(image,(300,0),(150,150),blue,5)#5表示線的寬度
show(image)
圖像展示:
繪制一個(gè)矩形:
import numpy as np
import matplotlib.pyplot as plt
import cv2
#畫圖
def show(image):
plt.imshow(image)
plt.axis('off')
plt.show()
image = np.zeros((300,300,3),dtype='uint8')
#畫線
green = (0,255,0)
cv2.line(image,(0,0),(300,300),green)#(0,0)開始點(diǎn),(300,300)是結(jié)束點(diǎn)
#注意opencv的(0,0)點(diǎn)是從左上角開始的
blue = (0,0,225)
cv2.line(image,(300,0),(150,150),blue,5)#5表示線的寬度
#繪制矩形
red=(255,0,0)
cv2.rectangle(image,(10,10),(60,60),red,2)#2表示矩形框的寬度
#填充
green=(0,255,0)
cv2.rectangle(image,(40,40),(100,100),green,-1)#-1表示矩形框填充
show(image)
注意:填充和非填充的矩形畫法
圖形展示:
繪制一個(gè)圓形:
import numpy as np
import matplotlib.pyplot as plt
import cv2
#畫圖
def show(image):
plt.imshow(image)
plt.axis('off')
plt.show()
#繪制圓形
white=(255,255,255)
image1 =np.zeros((300,300,3),dtype='uint8')
#設(shè)置圓心位置shape[1]表示寬度,shape[0]表示高度
(cX,cY) = image1.shape[1]//2,image1.shape[0]//2
for r in range(0,151,15):#從0循環(huán)到151,步長(zhǎng)是15,r表示半徑
cv2.circle(image1,(cX,cY),r,white)
show(image1)
圖形展示:
繪制一個(gè)填充圓形:
import numpy as np
import matplotlib.pyplot as plt
import cv2
#畫圖
def show(image):
plt.imshow(image)
plt.axis('off')
plt.show()
#繪制圓形填充
image2=np.zeros((300,300,3),dtype='uint8')
for i in range(10):
#半徑取值
radiu=np.random.randint(5,200)
#顏色取值
color=np.random.randint(0,255,size=(3,)).tolist()
#圓心取值
pt=np.random.randint(0,300,size=(2,))
#畫圖
cv2.circle(image2,tuple(pt),radiu,color,-1)
show(image2)
圖形展示:
以上就是python怎么使用OpenCV實(shí)現(xiàn)一些簡(jiǎn)單的繪圖功能的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持W3Cschool。