我有一个带有多个对象的图像。为了对其应用cvFloodFill
操作,我需要每个对象的种子点作为参数。我如何找到种子点?还如何查找其他参数,例如新值,lo_diff和up_diff?
或者,如果还有其他填充图像的方法,请提出建议!
最佳答案
void cvFloodFill(CvArr* image,
CvPoint seed_point,
CvScalar new_val,
CvScalar lo_diff = cvScalarAll(0),
CvScalar up_diff=cvScalarAll(0),
CvConnectedComp* comp=NULL,
int flags=4,
CvArr* mask=NULL)
According to the docs,
seed_point
是标记操作起点的x,y坐标。如果您查看this example,则this group的最后一张图片显示了在步骤1:过滤器示例中演示的cvFloodFill()
操作的结果。newVal
,loDiff
和upDiff
是您需要尝试的参数,直到找到一个可以带来良好效果的值。关于c - 使用opencv分割图像中的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11188850/