how to mask an image?

I = imread('E:\M.E 3rd semester\project\coding\flower.jpg');
I = rgb2gray(I);
J=ones(3,3)/9;
K = conv2(I,J,'same');
Warning: CONV2 on values of class UINT8 is obsolete. Use CONV2(DOUBLE(A),DOUBLE(B)) or CONV2(SINGLE(A),SINGLE(B)) instead.
Can anyone help to correct the error?

2 Comments

That's not masking an image - that's blurring it with a box (or sliding mean) filter. But like the others said, you need to case to double before convolving. Masking would be like setting inside or outside a region to some value or creating an ROI. For example you could mask your image so that the blurring just occurred inside a big circle in the middle of your image. Let me know if you want a masking demo.
sheno39
sheno39 on 20 Sep 2013
Thanks for your explanation. As am new to image processing in matlab it would be more helpful to me.

Sign in to comment.

 Accepted Answer

Anand
Anand on 19 Sep 2013
I = im2double(imread('..'));
I = rgb2gray(I);
J = ones(3)/9;
K = conv2(I,J,'same');

More Answers (2)

Image Analyst
Image Analyst on 20 Sep 2013
Edited: Image Analyst on 20 Sep 2013

1 vote

Regarding your comment asking for a masking demo, one of mine is attached. Click on it below to see it.
Matt J
Matt J on 19 Sep 2013

0 votes

I = double(rgb2gray(I));

3 Comments

sheno39
sheno39 on 19 Sep 2013
I = double(rgb2gray(I));
Error using rgb2gray>parse_inputs (line 81) MAP must be a m x 3 array.
Error in rgb2gray (line 35) X = parse_inputs(varargin{:});
I = imread('E:\M.E 3rd semester\project\coding\flower.jpg');
I = double(rgb2gray(I));
sheno39
sheno39 on 20 Sep 2013
thank you..

Sign in to comment.

Asked:

on 19 Sep 2013

Community Treasure Hunt

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

Start Hunting!