How to Detect Edges of an Image using Canny Edge Detection technique. I have already detected edges of Images, but I'm not sure if it is correct or not. Also, I want to add legend command and axis information in this, how would I do this thing?
36 ビュー (過去 30 日間)
古いコメントを表示
if true
% code
end
clc;
clear all;
close all;
img = imread('Table.jpg');
image(img)
title('Original Image')
figure,
I = rgb2gray(img);
imshow(uint8(I))
image(I)
title('Grey Scaled Image')
figure,
Canny_img = edge(I,'Canny');
imshow(Canny_img)
image(Canny_img*255)
title('Edge Detected Image')
0 件のコメント
採用された回答
Image Analyst
2018 年 7 月 22 日
編集済み: Image Analyst
2018 年 7 月 22 日
Use axis('on', 'image'). I fixed other problems too. Fixed code is below:
clc;
clear all;
close all;
workspace; % Make sure the workspace panel is showing.
% Read in original RGB image.
rgbImage = imread('Table.jpg');
subplot(2, 2, 1);
imshow(rgbImage)
axis('on', 'image');
title('Original Image')
% Convert to gray scale.
grayImage = rgb2gray(rgbImage);
subplot(2, 2, 2);
imshow(grayImage)
axis('on', 'image');
title('Grey Scale Image')
% Get edges
Canny_img = edge(grayImage, 'Canny');
subplot(2, 2, 3);
imshow(Canny_img, [])
axis('on', 'image');
title('Edge Detected Image')
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'Outerposition', [0, 0.05, 1, 0.95]);
By the way, you don't need to do edge detection to "find" the table if that's all that you want to do. You can simply threshold.
0 件のコメント
その他の回答 (1 件)
Nayana K M
2022 年 1 月 18 日
I = rgb2gray(imread("dog.jpg"));
subplot(2, 4, 1),
imshow(I);
title("Gray Scale Image");
% Sobel Edge Detection
J = edge(I, 'Sobel');
subplot(2, 4, 2),
imshow(J);
title("Sobel");
% Prewitt Edge detection
K = edge(I, 'Prewitt');
subplot(2, 4, 3),
imshow(K);
title("Prewitt");
% Robert Edge Detection
L = edge(I, 'Roberts');
subplot(2, 4, 4),
imshow(L);
title("Robert");
% Log Edge Detection
M = edge(I, 'log');
subplot(2, 4, 5),
imshow(M);
title("Log");
% Zerocross Edge Detection
M = edge(I, 'zerocross');
subplot(2, 4, 6),
imshow(M);
title("Zerocross");
% Canny Edge Detection
N = edge(I, 'Canny');
subplot(2, 4, 7),
imshow(N);
title("Canny");
3 件のコメント
Image Analyst
2023 年 8 月 22 日
@yuvasri to judge accuracy you need to have some alternative method that gives the "true" edges. Do you have that? If not, who's to say the result is not 100% accurate? Why do you think you need the accuracy? What really matters is if you can do what you need to do with the given output image.
help dice
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!