參考:
使用haar分類器進行面部檢測
簡單介紹haar特徵分類器物件檢測技術
它是基於機器學習的,通過使用大量的正負樣本影象訓練得到乙個cascade_function,最後再用它來做物件檢測。如果你想實現自己的面部檢測分類器,需要大量的正樣本影象(面部影象)和負樣本影象(不含面部的影象)來訓練分類器。 可參考這裡不做介紹,現在我們利用opencv已經訓練好的分類器,直接利用它來實現面部和眼部檢測。
重要方法分析:def detectmultiscale(self, image, scalefactor=none, minneighbors=none, minsize=none, maxsize=none)
原理:檢測輸入影象在不同尺寸下可能含有的目標物件
#minsize – minimum possible object size. objects smaller than that are ignored.
#maxsize – maximum possible object size. objects larger than that are ignored.
入參:1)image:輸入的影象
2)scalefactor:比例因子,影象尺寸每次減少的比例,要大於1,這個需要自己手動調參以便獲得想要的結果
3)minneighbors:最小附近畫素值,在每個候選框邊緣最小應該保留多少個附近畫素
4)minsize,maxsize:最小可能物件尺寸,所檢測的結果小於該值會被忽略。最大可能物件尺寸,所檢測的結果大於該值會被忽略
返回:若干個包含物件的矩形區域
import cv2 as cv
defface_detection
(image)
: gray = cv.cvtcolor(image, cv.color_bgr2gray)
face_detector = cv.cascadeclassifier(
"./images/haarcascade_frontalface_alt_tree.xml"
) eyes_detector = cv.cascadeclassifier(
"./images/haarcascade_eye.xml"
)# image, scalefactor, minneighbors
faces = face_detector.detectmultiscale(gray,
1.02,5
)for x, y, w, h in faces:
cv.rectangle(image,
(x, y)
,(x + w, y + h),(
0,255,0)
,2)# img = cv.circle(image, (x+(w//2), y+(h//2)), w//2, (0, 255, 0), 2)
# 選擇面部識別出來的區域進行eye識別
# 淺拷貝
roi_gray = gray[y:y+h, x:x+w]
roi_color = image[y:y+h, x:x+w]
# 識別eye和mouth
eyes = eyes_detector.detectmultiscale(roi_gray,
1.3,5)
# 識別出來的區域用矩形標記起來
"""去雜訊這塊可以自由發揮"""
# 獲取結構化元素
kernel = cv.getstructuringelement(cv.morph_rect,(4
,4))
# 開操作
bin1 = cv.morphologyex(binary, cv.morph_open, kernel=kernel)
cv.imshow(
"bin1"
, bin1)
# 轉換為image型別
textimage = image.fromarray(bin1)
print
(type
(textimage)
)# 進行識別並返回識別結果
驗證碼 簡單驗證碼識別
這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...
驗證碼識別
驗證碼識別過程好比人大腦的乙個識別過程 首先,我們的眼睛接收,並將這張的資訊輸送給大腦 然後,我們的大腦接收到這個資訊以後,對這個資訊作出處理 最後,將中的有效資訊提取出來再將其和大腦中儲存的資訊進行對應對比,確定對比結果。模擬驗證碼識別,大腦接受的處理過程就相當於電腦對的預處理,大腦對進行對比和確...
驗證碼識別
import tensorflow as tf 定義乙個初始化權重的函式 def weight variables shape w tf.variable tf.random normal shape shape,mean 0.0,stddev 1.0 return w 定義乙個初始化偏置的函式 d...