2013-07-22 73 views
1

我想繪製一個矩形,只使用一個指向中心的點。所以我的中心點幾乎是一個矩形。什麼是最簡單的方法呢?謝謝。OpenCV從中心x,y繪製矩形

+3

'CV ::矩形(圖像,cvPoint(XW/2,YH/2),cvPoint(X + W/2,Y + H/2/2),CV_RGB(R,G, b),1,8);' – William

+0

感謝William,你能否再次發表這個,所以我可以接受它作爲答案,另一個快速問題,我該如何將其轉換爲CvRect? –

回答

3

考慮到中心=(X,Y),則:

cv::rectangle(image, 
       cvPoint(x-w/2,y-h/2), 
       cvPoint(x+w/2,y+h/2), 
       CV_RGB(r,g,b), 1, 8 
      ); 

CvRect存儲左上點作爲參考。所以:

CvRect myrect=cvRect(x-w/2,y-h/2,w,h); 
+0

爲什麼'y + h/2/2'在第三行? – Carpetfizz

+1

也許是一個錯字?不記得。嘗試並修復它! :) – William

+1

固定!底點應該是中心+高度/ 2而不是中心+高度/ 4 – Carpetfizz