Edge Detection in Matrix Form
6 次查看(过去 30 天)
显示 更早的评论
Hi my main problem is how can i detect edges in 3x3 matrix not image my values are
matrix 7 8 9;4 5 6;1 2 3
edge detector 1 2 3; 4 5 6; 7 8 9
please help me for detecting matrix edges with convolution
0 个评论
回答(1 个)
Image Analyst
2018-12-19
Try this:
grayImage = imread('moon.tif');
subplot(1, 2, 1);
imshow(grayImage, []);
impixelinfo
edgeDetector = [1 2 3; 4 5 6; 7 8 9]; % Not a good edge detector!
edgeDetector = [1 1 1; 0 0 0; -1 -1 -1]; % Better edge detector.
filteredImage = conv2(double(grayImage), edgeDetector, 'same');
subplot(1, 2, 2);
imshow(filteredImage, []);
impixelinfo
3 个评论
Image Analyst
2018-12-19
So just replace the moon image with your image or matrix. I thought you'd understand to do that, but anyway, here it is:
matrix = [7 8 9; 4 5 6; 1 2 3]
subplot(1, 2, 1);
imshow(matrix, []);
impixelinfo
edgeDetector = [1 2 3; 4 5 6; 7 8 9]; % Not a good edge detector!
% edgeDetector = [1 1 1; 0 0 0; -1 -1 -1]; % Better edge detector.
filteredImage = conv2(matrix, edgeDetector, 'same');
subplot(1, 2, 2);
imshow(filteredImage, []);
impixelinfo
Now, you know that the filter window can only fit complete inside your matrix at ONE location, don't you?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!