opencv_python圖像處理——LBP特徵描述算子-人臉檢測

提前從GitHub下載xml文件(右鍵raw選擇save link as),圖像路徑指定圖像存放位置

#coding:utf-8
import cv2 as cv

# 讀取原始圖像
img= cv.imread('img/faces3.jpg')
#face_detect = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

face_detect = cv.CascadeClassifier("lbpcascade_frontalface_improved.xml")
# 檢測人臉
# 灰度處理
gray = cv.cvtColor(img, code=cv.COLOR_BGR2GRAY)

# 檢查人臉 按照1.1倍放到 周圍最小像素爲5
face_zone = face_detect.detectMultiScale(gray, scaleFactor = 2, minNeighbors = 2) # maxSize = (55,55)
print ('識別人臉的信息:\n',face_zone)

# 繪製矩形和圓形檢測人臉
for x, y, w, h in face_zone:
    # 繪製矩形人臉區域
    cv.rectangle(img, pt1 = (x, y), pt2 = (x+w, y+h), color = [0,0,255], thickness=2)
    # 繪製圓形人臉區域 radius表示半徑
    cv.circle(img, center = (x + w//2, y + h//2), radius = w//2, color = [0,255,0], thickness = 2)

# 設置圖片可以手動調節大小
cv.namedWindow("Easmount-CSDN", 0)

# 顯示圖片
cv.imshow("Easmount-CSDN", img)

# 等待顯示 設置任意鍵退出程序
cv.waitKey(0)
cv.destroyAllWindows()

檢測到人臉圖像:
原圖
在這裏插入圖片描述
結果
在這裏插入圖片描述
在這裏插入圖片描述
失敗情況
原圖
在這裏插入圖片描述
結果
在這裏插入圖片描述
在這裏插入圖片描述
原圖
在這裏插入圖片描述
結果
在這裏插入圖片描述
在這裏插入圖片描述
由結果可見,利用LBP特徵描述算子檢測人臉存在很大的缺陷,對圖像中人臉的要求比較高,如果人臉存在旋轉,不能檢測,人臉太小也不能檢測。

參考資料鏈接
Datawhale計算機視覺基礎-圖像處理(下)-Task02 LBP特徵描述算子-人臉檢測

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章