2014-03-31 81 views
0

如果我創建了一個白色圖像,並且我有第二個圖像,如何將第二個圖像放在Opencv和C++的白色圖像的中心?將圖像放到另一個圖像上

我想這

int x = 10, 
y = 20, 
width = 200, 
height = 200; 
white= face_region(Rect(x, y, width, height)); 
face_region.copyTo(white); 
imshow("white",white); 
waitKey(0); 
return 0; 

,但它不工作。

回答

3

你幾乎有

Mat white(768, 1024, CV_8UC3); 
Mat red(100, 100, CV_8UC3); 
Mat blue(100, 100, CV_8UC3); 

white.setTo(Scalar(255, 255, 255)); 
red.setTo(Scalar(0, 0, 255)); 
blue.setTo(Scalar(255, 0, 0)); 

// this code places red image to the center square 
red.copyTo(white(Rect(white.cols/2 - red.cols/2, 
         white.rows/2 - red.rows/2, 
         red.cols, 
         red.rows))); 

// this code places blue image to the center circle 
Mat circle_mask(blue.size(), CV_8UC1); 
cv::circle(circle_mask, Point(circle_mask.cols/2, circle_mask.rows/2), 50, Scalar(255), CV_FILLED); 
blue.copyTo(white(Rect(white.cols/2 - blue.cols/2, 
         white.rows/2 - blue.rows/2, 
         blue.cols, 
         blue.rows)), circle_mask); 

cv::imshow("image", white); 
waitKey(0); 
+0

第2行,笏是768和1024? – Steph

+0

這是白色圖像的大小。 –

+0

我想要做的是..輸入圖像,然後我創建的白色圖像需要輸入圖像的大小。可以這樣做嗎? – Steph

相關問題