App下載

python怎么用OpenCv實(shí)現(xiàn)繪圖功能?

猿友 2021-07-29 10:23:26 瀏覽數(shù) (2477)
反饋

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


0 人點(diǎn)贊