MATLAB: Is the image appearing all white? I am trying to detect its edges with the following code..

edge detectionImage Processing Toolbox

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');

Best Answer

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);
Related Question