2013-12-10 235 views
0

我有一個大圖像說(720 x 1290)。如果我將連續幀傳遞給臉部檢測,則會延遲,並且相機的顯示會滯後。Opencv人臉檢測較慢

我所做的是將圖像重新調整爲(480 x 640)。人臉檢測相當不錯,相機不落後。

我的問題在這裏,我已經檢測到一張臉,並得到了圖像中臉部的座標(480 x 640)。現在,我需要繪製矩形(720 x 1290),但我只有(480 x 640)的臉部座標。

現在臉部座標可用於(720 x 1290),如何在(480 x 640)圖像中繪製矩形?

任何示例都會有幫助。

+2

乘以每個維度的比例率? – PlasmaHH

+0

哦..告訴我你是如何解決這個問題的「如果一個橙色成本是5美元,那麼10個橙子的成本是多少?」如果480X640的矩形尺寸是HxW,那麼720X1290的矩形尺寸將是720/480 * H x 1290/640 * W,其中W-寬度和H-高度...... – G453

+0

http://docs.opencv.org/modules/imgproc/doc /geometric_transformations.html#resize – baci

回答

1

如果臉部的位置存儲在cvRect faceRect,和原來的圖像存儲在與CvMat OriginalImage,試試這個:

cvRect enlargedFrame; 
enlargedFrame.x = faceRect.x*originalImage.cols/720; 
enlargedFrame.y = faceRect.y*originalImage.rows/480; 
enlargedFrame.width = faceRect.width*originalImage.cols/720; 
enlargedFrame.height = faceRect.height*originalImage.rows/480; 

現在畫用enlargedFrame的座標的矩形。

如果您決定裁剪圖像以使其更小,則會變得更加複雜。在這種情況下,你可以使用仿射變換。