0
我有一部分图像,我想将它向下移动,比如图片中显示的25像素。在opencv中切换图像的一部分(剪切和粘贴)
我有我想要降档区域的面具。总图像大小不应改变。所以,该操作被剪切并粘贴。在那里我剪的区域可以填充0或255
平台是C++
我有一部分图像,我想将它向下移动,比如图片中显示的25像素。在opencv中切换图像的一部分(剪切和粘贴)
我有我想要降档区域的面具。总图像大小不应改变。所以,该操作被剪切并粘贴。在那里我剪的区域可以填充0或255
平台是C++
创建两个子图像:第一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);