我已将Emgu.Cv文件添加到我的项目中,我想使用它的分水岭功能,但我不知道如何使用它。任何人都可以帮助我并解释函数,它的论点是它的回归吗?
答案 0 :(得分:4)
这是一些使用emgucv在通用输入图像上使用分水岭功能的香草代码:
public void TestWaterShed()
{
Image<Bgr, Byte> image = new Image<Bgr, byte>("myImage.jpg");
Image<Gray, Int32> marker = new Image<Gray, Int32>(image.Width, image.Height);
Rectangle rect = image.ROI;
marker.Draw(
new CircleF(
new PointF(rect.Left + rect.Width / 2.0f, rect.Top + rect.Height / 2.0f),
(float)(Math.Min(image.Width, image.Height) / 4.0f)),
new Gray(255),
0);
CvInvoke.cvWatershed(image, marker);
}
答案 1 :(得分:1)
查看以下问题的答案:
watershed function provided by EmguCv
您需要将掩码文件的值设置为零(使用cvZero
)。使用第二个参考圆(最好使用不同的灰色值),然后在将其转换为灰度值图像后从掩码文件中检索结果。