溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中如何用OpenCv實(shí)現(xiàn)繪圖功能

發(fā)布時(shí)間:2022-02-21 15:22:42 來源:億速云 閱讀:173 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“python中如何用OpenCv實(shí)現(xiàn)繪圖功能”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“python中如何用OpenCv實(shí)現(xiàn)繪圖功能”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

繪制一個(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,步長是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)繪圖功能”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI