我有一项任务是使用Matlab创建自己的边缘检测功能。但不幸的是,我没有图像处理领域的经验,只有我几乎不知道如何表示图像。在这个领域知之甚少。
我已经阅读了一些论文和PDF文件,但他们专注于许多主题,我觉得我可能不需要它们来完成我的任务。
我很高兴知道您的建议,或者是否有任何特定的论文,PDF,教程或快速指南。
谢谢
答案 0 :(得分:1)
每个边缘检测算法都使用像3x3矩阵这样的内核。如下所示, sobel_x 和 sobel_y 被称为Sobel operator。如果您发现图像卷积和Sobel算子,您将找到图像的边缘。
A=imread('motor.png'); % load image
A=rgb2gray(A); % convert to grayscale from rgb
A=im2double(A); % convert to double
sobel_x = [-1 0 1 ;... % define sobel operator of x axis
-2 0 2 ;...
-1 0 1];...
sobel_y = [1 2 1;... % define sobel operator of y axis
0 0 0;...
-1 -2 -1];
new_img_x=conv2(A,sobel_x); % convolution of image and sobel operator on x axis
new_img_y=conv2(A,sobel_y); % convolution of image and sobel operator on y axis
new_img=new_img_x+new_img_y; % sum two convolution
imshow(new_img); % show newly processed image