Why is my image appearing all white? I am trying to detect its edges with the following code..
13 次查看(过去 30 天)
显示 更早的评论
clc;
clf;
i=imread('AB_1-16_pH_7.jpg');
subplot(421);
imshow(i);
title('orginalimage');
j=rgb2gray(i);
subplot(422);
imshow(j);
title('grayimage');
subplot(423);
m=edge(j,'canny');
imshow(11);
title('edge with canny function');
subplot(424);
figure(2)
m=imread('AB_1-16_pH_7.jpg');
imshow(m);
title('base image');
采纳的回答
Image Analyst
2014-10-7
Because you don't show the edge image. You're displaying 11 (eleven).
Here, try this improved code:
% Boilerplate initialization stuff
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 20;
% Read in original RGB image.
filename = 'peppers.png'
rgbImage = imread(filename);
subplot(2,2,1);
imshow(rgbImage);
title('Original Image', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
% Convert to grayscale.
grayImage=rgb2gray(rgbImage);
subplot(2,2,2);
imshow(grayImage);
title('Gray Scale Image', 'FontSize', fontSize);
% Get edge image.
edgeImage = edge(grayImage, 'canny');
subplot(2,2,3);
imshow(edgeImage, []);
title('Edge Image with Canny function', 'FontSize', fontSize);
0 个评论
更多回答(1 个)
Neo
2014-10-20
1 个评论
Image Analyst
2014-10-20
For individual commands, look them up in the help. In general, to learn MATLAB, see this link: http://www.mathworks.com/matlabcentral/answers/8026-best-way-s-to-master-matlab.
It looks like my code does a Canny edge and it's not all white so it looks like I solved your problem, so if you wouldn't mind officially "Accepting" my answer, I'd appreciate it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!