gpt4 book ai didi

matlab - 如何检测图像中的边缘并创建掩码(matlab)

转载 作者:行者123 更新时间:2023-12-02 04:41:20 33 4
gpt4 key购买 nike

我正在尝试完成一项任务,但有 2 个问题。第一个,我必须拍摄图像,然后检测表面的边缘。

这是原始图像:

the original image

结果是这样的:

the result

但是,我得到了这个:

actual result

我正在使用一个非常简单的代码:

filter=[1 2 1;0 0 0;-1 -2 -1];
image=imread('boat.jpg');
image_edge=filter2(filter,image);
imshow(image_edge);

如您所见,这很容易,但我没有相同的图像。我的过滤器有误吗?

接下来是第二个问题:我不知道如何创建 miximg 系数矩阵,mask(x,y)。该矩阵必须基于边缘创建(平坦区域的值为 1,边缘逐渐减小为 0)。我应该使用什么命令?

最佳答案

您的过滤器是否同时提取垂直和水平边缘?由于 filter2 使用 cov2 函数并提取垂直和水平边缘,因此您需要在代码中使用 cov2 两次。检查this conv2 垂直和水平边缘示例的页面。

您也可以在 MATLAB 中尝试 edge 命令,尽管它适用于强度图像:

I = imread('boat.jpg');
BW1 = edge(I,'prewitt'); % or any other filters supported
imshow(BW1);

检查这个page用于不同类型的边缘滤波器。

关于matlab - 如何检测图像中的边缘并创建掩码(matlab),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20790183/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com