案例實(shí)戰(zhàn)
1、簡(jiǎn)易調(diào)色板
def ColorPalette():
# 簡(jiǎn)易調(diào)色板
def callback(value):
print(value)
# trackbar控件
cv2.namedWindow("trackbar",cv2.WINDOW_NORMAL)
cv2.resizeWindow("trackbar",640,480)
cv2.createTrackbar("R","trackbar",0,255,callback)
cv2.createTrackbar("G","trackbar",0,255,callback)
cv2.createTrackbar("B","trackbar",0,255,callback)
bg = np.zeros((480,640,3),np.uint8)
while True:
r = cv2.getTrackbarPos("R","trackbar")
g = cv2.getTrackbarPos("G", "trackbar")
b = cv2.getTrackbarPos("B", "trackbar")
bg[:] = [b,g,r]
cv2.imshow("trackbar",bg)
key = cv2.waitKey(20)
if key == 27:
break
cv2.destroyAllWindows()
# ColorPalette()
2、創(chuàng)建畫(huà)布,按下指定鍵畫(huà)指定圖案
def CaptureShape(img):
# 創(chuàng)建畫(huà)布,按下指定鍵畫(huà)指定圖案
cur_shape = 0
# 初始坐標(biāo)
start_pos = (0,0)
def mouse_callback(event,x,y,flags,userdata):
nonlocal start_pos,cur_shape
# 鼠標(biāo)按下
if event == cv2.EVENT_LBUTTONDOWN:
start_pos = (x,y)
# 鼠標(biāo)松開(kāi)
elif event == cv2.EVENT_LBUTTONUP:
if cur_shape == 0:
cv2.line(img,start_pos,(x,y),(0,255,255),2)
elif cur_shape == 1:
cv2.rectangle(img,start_pos,(x,y),(255,0,255),2)
elif cur_shape==2:
a = (x-start_pos[0])
b = (y-start_pos[1])
r = int((a**2+b**2)**0.5)
cv2.circle(img,start_pos,r,(255,255,0),2)
else:
print("not support")
cv2.namedWindow('draw',cv2.WINDOW_NORMAL)
cv2.setMouseCallback('draw',mouse_callback)
while True:
# 按下l鍵畫(huà)直線,按下r鍵畫(huà)矩形,按下c鍵畫(huà)圓
cv2.imshow('draw',img)
key = cv2.waitKey(1)
if key == 27:
break
elif key == ord("l"):
cur_shape = 0
elif key == ord("r"):
cur_shape =1
elif key == ord("c"):
cur_shape =2
cv2.destroyAllWindows()
# img = np.zeros([500,500,3],np.uint8)
# CaptureShape(img)
3、人臉檢測(cè)
def FaceDetect():
# 人臉檢測(cè)
face_detector = cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml")
while True:
cap = cv2.VideoCapture(0)
ret,frame = cap.read()
gray = cv2.cvtColor(frame,code=cv2.COLOR_BGR2GRAY)
face = face_detector.detectMultiScale(gray)
for x,y,w,h in face:
cv2.circle(frame,(x+w//2,y+h//2),w//2,(0,255,255),2)
cv2.imshow("img",frame)
key = cv2.waitKey(20)
if key == 27:
break
cap.release()
cv2.destroyAllWindows()
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
matlab
+關(guān)注
關(guān)注
182文章
2960瀏覽量
230034 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3218瀏覽量
42329 -
OpenCV
+關(guān)注
關(guān)注
29文章
625瀏覽量
41215
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
OpenCV_編程簡(jiǎn)介(入門(mén)必讀)
opencv編程簡(jiǎn)介,入門(mén)必讀,適合新手簡(jiǎn)單了解opencv的相關(guān)知識(shí)。
發(fā)表于 03-21 13:49
?11次下載
OpenCV開(kāi)發(fā)環(huán)境的配置
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:OpenCV開(kāi)發(fā)環(huán)境的配置
發(fā)表于 06-06 15:20
?8次下載
基本閾值操作_《OpenCV3編程入門(mén)》書(shū)本配套源代碼
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:基本閾值操作
發(fā)表于 06-06 15:39
?8次下載
基本鼠標(biāo)操作_《OpenCV3編程入門(mén)》書(shū)本配套源代碼
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:基本鼠標(biāo)操作
發(fā)表于 06-06 15:39
?5次下載
形態(tài)學(xué)圖像處理綜合示例_《OpenCV3編程入門(mén)》書(shū)本配套源代碼
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:形態(tài)學(xué)圖像處理綜合示例
發(fā)表于 06-06 15:52
?8次下載
圖像濾波綜合示例_《OpenCV3編程入門(mén)》書(shū)本配套源代碼
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:圖像濾波綜合示例
發(fā)表于 06-06 15:52
?6次下載
用OpenCV進(jìn)行基本繪圖_《OpenCV3編程入門(mén)》書(shū)本配套源
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:用OpenCV進(jìn)行基本繪圖
發(fā)表于 05-11 16:46
?36次下載
用morphologyEx進(jìn)行圖像開(kāi)運(yùn)算_《OpenCV3編程入門(mén)》配套源代碼
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:用morphologyEx進(jìn)行圖像開(kāi)運(yùn)算
發(fā)表于 06-06 15:52
?11次下載
用morphologyEx進(jìn)行圖像閉運(yùn)算_《OpenCV3編程入門(mén)》配套源代碼
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:用morphologyEx進(jìn)行圖像閉運(yùn)算
發(fā)表于 06-06 15:52
?3次下載
支持向量機(jī)之SVM引導(dǎo)_《OpenCV3編程入門(mén)》書(shū)本配套源代碼
《OpenCV3編程入門(mén)》書(shū)本配套源代碼:支持向量機(jī)之SVM引導(dǎo)
發(fā)表于 06-06 15:52
?2次下載
OpenCV入門(mén)之OpenCV的基本操作1
OpenCV是一個(gè)基于Apache2.0許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列
OpenCV入門(mén)之OpenCV的基本操作2
OpenCV是一個(gè)基于Apache2.0許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列
OpenCV入門(mén)之OpenCV的基本操作3
OpenCV是一個(gè)基于Apache2.0許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列
OpenCV入門(mén)之OpenCV的基本操作4
OpenCV是一個(gè)基于Apache2.0許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列
OpenCV入門(mén)之OpenCV的基本操作5
OpenCV是一個(gè)基于Apache2.0許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列
評(píng)論