opencv的學習與人臉情緒識別專案(一)

2021-10-04 04:47:31 字數 1730 閱讀 3054

呼叫攝像頭程式

import numpy as np

import cv2

#呼叫筆記本內建攝像頭,所以引數為0,如果有其他的攝像頭可以調整引數為1,2

cap=cv2.videocapture(0)

while

true

:#從攝像頭讀取

sucess,img=cap.read(

)#轉為灰度

gray=cv2.cvtcolor(img,cv2.color_bgr2gray)

#顯示攝像頭,背景是灰度。

cv2.imshow(

"img"

,gray)

#保持畫面的持續。

k=cv2.waitkey(1)

if k ==27:

# 通過esc鍵退出攝像

cv2.destroyallwindows(

)break

elif k ==

ord(

"s")

:# 通過s鍵儲存,並退出。

#關閉攝像頭

cap.release(

)

1、cap = cv2.videocapture(0)

2、ret,frame = cap.read()

3、cv2.waitkey(1),waitkey()方法本身表示等待鍵盤輸入,

引數過大如cv2.waitkey(1000),會因為延時過久而卡頓感覺到卡頓。

c得到的是鍵盤輸入的ascii碼,esc鍵對應的ascii碼是27,即當按esc鍵是if條件句成立

4、呼叫release()釋放攝像頭,呼叫destroyallwindows()關閉所有影象視窗。

5、cv2.cvtcolor(img,cv2.color_bgr2gray)

opencv預設格式為bgr,轉化為灰度圖,也有cv2.cvtcolor(img,cv2.color_bgr2rgb)轉化為rgb圖

6、cv2.imshow(wname,img)

顯示,wname為名稱,img為要顯示的

7、**使用函式cv2.imwrite(file,img,num)儲存乙個影象。**第乙個引數是要儲存的檔名,第二個引數是要儲存的影象。可選的第三個引數,它針對特定的格式:對於jpeg,其表示的是影象的質量,用0 - 100的整數表示,預設95;對於png ,第三個引數表示的是壓縮級別,預設為3。

注意:cv2.imwrite_jpeg_quality型別為 long ,必須轉換成 int

cv2.imwrite_png_compression, 從0到9 壓縮級別越高影象越小

cv2.imwrite(

'1.png'

,img,

[int

( cv2.imwrite_jpeg_quality),95

])cv2.imwrite(

'1.png'

,img,

[int

(cv2.imwrite_png_compression),9

])

opencv與人臉識別

人臉識別最近幾年比較流行,不接觸還以為是什麼高階什麼 今天學學記錄一下其實除去訓練模型不好做,利用opencv還是很容易實現的,就來玩玩人臉識別。人臉檢測器 預設 haarcascade frontalface default.xml 人臉檢測器 快速harr haarcascade frontal...

OpenCV人臉檢測 4 繪製人臉與人眼區域

img 為目標 左上角座標為 x,y 右下角座標為 x w,y h 顏色 b,g,r 255,0,0 表示藍色,0,255,0 表示綠色,0,0,255 表示紅色,3 表示 bgr 三個通道。2代表邊框線粗度為 2。使用 opencv 分類器檢測人臉之後,一張中可能包含多個人臉,所以對每乙個識別到的...

python中使用Opencv進行人臉識別

python中使用opencv進行人臉識別 cv2.imshow無法顯示影象 在執行cv2.imshow後,需要使用cv2.waitkey來保持視窗的顯示。python opencv影象標註矩形框bounding box 用 opencv 標註 bounding box 主要用到下面兩個工具 cv2...