什麼是openCV?
以下是wiki的描述
簡而言之
openCV是運用視覺演算法來實現辨識能力,由如人的眼睛
所見,傳送到腦進行辨識處理,進而做出回應,運用上,現在
廣範運用在機器視覺的開發如下:
首先在window10上安裝openCV
pip install opencv-python
一般安裝時會同時安裝numpy,因為要進行運算
安裝好後先來試一試秀出圖片
cv2.imread()---讀取圖檔
cv2.imshow()---秀出圖檔
cv2.imwrite()---輸出圖檔
cv2.waitkey(0)---秀出圖片,等待指令才結束圖框
import cv2
img=cv2.imread('a.jpg') #注意路徑
cv2.imshow('myImg', img) 'myImg'為圖片框的名稱,自行更改
cv2.waitKey(0)
現在依上面的結構再增加人臉識別框
要先去下載並解壓人臉識別特徵檔haarcascade_frontalface_default.xml
載入分類器
face_cascede=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
偵測人臉並用方框劃出人臉
faces=face_cascede.detectMultiScale(img)
for (x,y,w,h) in faces:
cv2.rectangle(img, (x,y),(x+w, y+h), (0,255,0),2) #(0, 255, 0)方框顏色
完整程式碼如下:
import cv2
import os
path=r'D:\暫存'
face_cascede=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
num=0
for filename in os.listdir():
print(filename)
if filename.endswith('.jpg'):
img=cv2.imread(filename)
faces=face_cascede.detectMultiScale(img)
for (x,y,w,h) in faces:
cv2.rectangle(img, (x,y),(x+w, y+h), (0,255,0),2)
cv2.imwrite(str(num)+'.jpg', img)
cv2.imshow('girl', img)
num+=1






沒有留言:
張貼留言