亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用邊界框從圖像中裁剪臉部

使用邊界框從圖像中裁剪臉部

互換的青春 2023-07-18 17:40:10
這是輸入幀:我曾經RetinaFace從中檢測所有面孔和一般 csv 文件。這是我的 csv 文件:,bbox,score,landmarks0,"[1811, 850, 1948, 1013]",0.999666452407836,"[[1828, 911], [1887, 913], [1841, 942], [1832, 974], [1876, 976]]"1,"[346, 1285, 503, 1468]",0.9996420145034791,"[[365, 1361], [424, 1348], [385, 1395], [390, 1426], [439, 1416]]"2,"[1543, 1418, 1702, 1618]",0.9995224475860591,"[[1578, 1514], [1647, 1498], [1619, 1554], [1610, 1585], [1658, 1572]]"(上面僅顯示了部分行)。只是為了顯示我的輸出圖像,其中 RetinaFace 檢測到所有面部:但是我無法單獨獲取面部:frame = cv2.imread('input.jpg')x,y,w,h = [1811, 850, 1948, 1013] # one of the bounding boxesplt.imshow(frame[y:y+h, x:x+w])它沒有給出正確的面部位置。我得到的輸出是:
查看完整描述

2 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

我參考了retinaface代碼,發現邊界框是這樣提取的:鏈接

x_min, y_min, x_max, y_max = annotation["bbox"]

使用與上述索引類似的索引對我來說效果非常好。

x,y,w,h = label
plt.imshow(frame[y:h, x:w])

http://img1.sycdn.imooc.com//64b65e670001008b02200247.jpg

查看完整回答
反對 回復 2023-07-18
?
森林海

TA貢獻2011條經驗 獲得超2個贊

您嘗試過它的張量流重新實現嗎?其提取人臉功能直接返回檢測到的人臉。此外,它還可以根據地標坐標來對齊檢測到的人臉。


#!pip install retina-face

from retinaface import RetinaFace

import matplotlib.pyplot as plt

faces = RetinaFace.extract_faces("img.jpg", align = True)

for face in faces:

   plt.imshow(face)

   plt.show()


查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號