【发布时间】:2016-04-01 17:36:05
【问题描述】:
我正在尝试在我的图片上应用 Sobel 过滤器来检测边缘,如您在此处看到的:
Image<Gray, Byte> imgProcessed1;
private void Form1_Load(object sender, EventArgs e)
{
Image<Bgr, Byte> imgProcessed=new Image<Bgr, byte>(@"C:\Users\Public\Pictures\Sample Pictures\1.jpg");
imgProcessed1 = imgProcessed.Convert<Gray, byte>();
Image<Gray, Single> img_final = (imgProcessed1.Sobel(1, 0, 5));
pictureBox1.Image = img_final.ToBitmap();
}
但是结果很不寻常,我是opencv的新手。
我的输出
我需要这个结果。
我只需要应用这个过滤器
【问题讨论】:
-
您必须找到准确的水平线和垂直线,因此很难确定使用 Sobel 运行所需的确切参数。我建议使用 Canny,然后使用 HoughLines 操作来确定哪些线是强垂直线和水平线,您可以通过玩变量来选择角度。
-
@DeJaVo 你知道我想在我的图片上应用 hor 和 ver 过滤器来检测车牌。我该怎么做?请你详细解释一下
-
首先运行 Canny 边缘检测,然后运行 HoughLines 以获得准确的 hor 和 ver 线。然后在 Sobel 上使用它并使用角度获得正确的结果,直到找到所需的输出。
-
如果支持您的问题,请告诉我,如果支持,我会将其发布为答案,并将其标记为解决方案。
-
@DeJaVo 谢谢亲爱的朋友我更新了我的帖子
标签: c# c++ opencv image-processing emgucv