看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《autoupdate (生烏龍茶)》之銘言: : ----------------- : 大概流程圖 : 攝影機開著(一直開著)==>抓你的臉,並標記臉部位置圓圈==copy圓圈位置= : ==>到另外一張圖 : ------------------ 關於這部份,想要先確認你的目的,首先在複製臉部位置的圓圈, 照你的意思,是要把圓圈所罩住的資料轉移到另外一張大小的影像, 但是另外一張影像僅只存放臉部資訊? 如果是這樣,那只需要修改 void detect_and_draw( IplImage *img ) 新增:一張和img大小相同的影像,利用cvCreateImagae 利用:cvZero將img初始化 新增:建立新的ShowImage視窗 在偵測完原img影像後,取得紀錄的center和半徑 利用cvGet2D以及cvSet2D以及center與半徑資訊 對該img影像進行特定區域複製,利用迴圈,設定新的影像資訊 例: CvScalar val; for(y = center.y - 半徑.y ; y < center.y + 半徑.y ; y++) { for(x = center.x - 半徑.x ; x < center.x + 半徑.x ; x++) { val = cvGet2D(img, y, x); cvSet2D(newImg, y, x, val); } } 以上程式碼皆為例子。關於函式使用請參考OpenCV wiki 最後顯示 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.182.9
autoupdate:我只想擷取圈圈那個部分到另外一張圖去,人臉就不用了 04/16 20:44
autoupdate:謝謝你提供想法 04/16 20:45