过滤以圆圈替换边缘点

时间:2015-05-11 11:04:42

标签: matlab computer-vision edge-detection

我有以下硬件分配: 转到“锯”图像。做边缘检测。现在,通过卷积, 用小圆或小高斯替换每个边缘点。

我可以使用哪种过滤器来执行此操作?

谢谢!

saw_image = imread('saw.jpg');
I  = rgb2gray(saw_image);
BW = edge(I,'canny');
[row, col] = find (BW);
a = sub2ind(size(I), row, col)';
WindowSize = 9;
newI=imfilter(I(a),fspecial('???',WindowSize));

1 个答案:

答案 0 :(得分:0)

不完全确定需要什么。 我认为你应该做的事情如下:

saw_image = randi(255,30,30,3);
I  = rgb2gray(saw_image);
BW = edge(I,'canny');
WindowSize = 3;
newI=imfilter(BW*255,fspecial('gaussian',WindowSize));

result = saw_image;
result(newI>0) = newI(newI>0);

这会创建一个边缘图像,对此图像进行卷积并替换原始图像中的所有区域,这些区域被边缘值检测为边缘。