显示的图像是两个图像之间的差异。我想做的就是获得白色部分的位置。我想这样做是因为我希望能够突出显示原始图像上差异的位置。
我正在考虑使用聚类或斑点检测,或者只是找到图像中最亮或最白的像素。
您认为哪种方法最简单?还有其他方法吗?
答案 0 :(得分:0)
使用findContour方法在图像中查找闭合轮廓。
vector<vector<Point> > contours;
vector<Vec4i> hierarchy;
findContours( BinaryImage, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0) );
您可以使用 drawContours 绘制轮廓。
变量轮廓包含制作该特定轮廓的坐标。您可以通过以下命令显示它
for(double i=0; i<contours.size(); i++)
{
cout << contours[i];
drawContours( OutputImage, contours, i, Scalar(0,255,0), 2, 8, hierarchy, 0, Point() );
}