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 个评论

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.
Thanks for your explanation. As am new to image processing in matlab it would be more helpful to me.

请先登录,再进行评论。

 采纳的回答

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

更多回答(2 个)

Image Analyst
Image Analyst 2013-9-20
编辑:Image Analyst 2013-9-20

1 个投票

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

0 个投票

I = double(rgb2gray(I));

3 个评论

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));
thank you..

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by