2013-03-01 158 views

回答

2

創建兩個子圖像:第一sub1各地要移動模式和第二sub2,比同尺寸sub1,在目的地周圍。將sub1複製到sub2,然後用黑色或白色填充sub1。您顯然需要使用與兩個子圖像相同尺寸的裁剪模板。

這是僞代碼,來說明的想法:

cv::Mat YourImage; 
cv::Mat YourMask; 
std::vector<cv::Point> YourPatternContour; 

cv::Rect sub1ROI = cv::boundingRect(YourPatternContour); 
cv::Mat sub1 = YourImage(sub1ROI); 
cv::Mat mask = YourMask(sub1ROI); 

cv::Rect sub2ROI = sub1ROI + cv::Point(25,25); 
cv::Mat sub2 = YourImage(sub2ROI); 

sub1.copyTo(sub2, mask); 
sub1.set(0, mask);