2D convolution in in Matlab.

3 views (last 30 days)
I = imread ("lena.jpg");
%imshow(I);
K = I;
C = conv2(I, K);
imshow(C);
I am expecting something like the following as indicated in this link .
But, my output is blank:
What could be the possible reason?
And, how can I obtain the expected output?

Accepted Answer

Guillaume
Guillaume on 10 Jul 2018
What could be the possible reason? And, how can I obtain the expected output?
imshow expects that that intensity of a double image is in the range [0-1]. By default, anything less than 0 is displayed as black, and anything more than 1 is displayed as 1.
You can override that behaviour by passing a different range as the 2nd input to imshow or letting imshow use the intensity range of your image by passing []. So:
imshow(C, [])
should fix your problem.

More Answers (1)

Matt J
Matt J on 10 Jul 2018
I = im2double( rgb2gray( imread("lena.jpg") ) );

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!