hi
i want to convolved 2 images.
i tried with conv2 but its not working.
i have 2 images one is Gaussian filterd image and other is sharped image. and i would like to convolved this 2 image. i write a code
im = imread('my original.jpg');
myfilter = fspecial('gaussian',[3 3], 0.5);
a = imfilter(image, myfilter);
b = imsharpen(image,'Radius',0.5);
c=conv2(a,b);
plz help me

 Réponse acceptée

Image Analyst
Image Analyst le 13 Oct 2013
Modifié(e) : Image Analyst le 13 Oct 2013

0 votes

You DON'T want to use image as the name of a variable - it's the name of a built in function. Plus you need to convert to double when you call the convolution.
grayImage = imread('Cameraman.tif');
grayImage = double(grayImage);
subplot(2,3,1);
imshow(grayImage, []);
axis on;
title('Original Image', 'FontSize', 15);
myfilter = fspecial('gaussian',[3 3], 0.5);
subplot(2,3,2);
imshow(myfilter, []);
axis on;
title('myFilter', 'FontSize', 15);
a = imfilter(grayImage, myfilter);
subplot(2,3,3);
imshow(a, []);
axis on;
title('a', 'FontSize', 15);
b = imsharpen(grayImage,'Radius',0.5);
subplot(2,3,4);
imshow(b, []);
axis on;
title('b', 'FontSize', 15);
c=conv2(a,b, 'full');
subplot(2,3,5);
imshow(c, []);
title('c', 'FontSize', 15);
axis on;

9 commentaires

Image Analyst
Image Analyst le 13 Oct 2013
Why do you want to do this anyway - what does it mean? It doesn't make sense to me.
SAM
SAM le 13 Oct 2013
i would like to calculate the blurring effect...
Image Analyst
Image Analyst le 13 Oct 2013
That's what image "a" is. It makes no sense whatsoever to convolve a blurred full sized image with a sharpened full size image. It's basically meaningless.
SAM
SAM le 13 Oct 2013
Modifié(e) : SAM le 13 Oct 2013
Undefined function 'conv2' for input arguments of type 'double' and
attributes 'full 3d real'.
again same error...
Error in tryingf11_2 (line 18)
c=conv2(a,b, 'same');
SAM
SAM le 13 Oct 2013
To estimate the blurring effect in a painting,
to model the blurred image I b as the result of Gaussian smoothing filter Gσ applied on a hypothetic sharp image I s ,
i.e. I b =G σ ∗ I s .
The symbol ∗ here means convolution.
Here the parameter σ of Gaussian filter and the sharp image I s are both unknown. Assuming that the frequency distribution for I s is approximately the same, we have the parameter σ of Gaussian filter to represent the degree of blurring. By taking Fourier-Transform on I b , this method looks for the highest frequency whose power is greater than a certain threshold and assumed it inverse-proportioned to the smoothing parameter σ . If the highest frequency is small, it can be considered to be blurred by a largeσ . So the blurring feature is measured as:
Image Analyst
Image Analyst le 14 Oct 2013
Well that's fine, but that's not at all what you are doing.
Anand
Anand le 14 Oct 2013
Looks like your image, is 3D. Is it an RGB image, in that case use rgb2gray to convert it to grayscale:
im = double(rgb2gray(imread('my original.jpg')));
SAM
SAM le 14 Oct 2013
ya i got it
SAM
SAM le 14 Oct 2013
@image analyst
so what should i do?

Connectez-vous pour commenter.

Plus de réponses (3)

Matt J
Matt J le 13 Oct 2013
Modifié(e) : Matt J le 13 Oct 2013

0 votes

You didn't show your error messages, so I'm just guessing, but this
im = imread('my original.jpg');
should probably be this
image = double(imread('my original.jpg'));

2 commentaires

SAM
SAM le 13 Oct 2013
Undefined function 'conv2' for input arguments of type 'double' and
attributes 'full 3d real'.
again same error...
Image Analyst
Image Analyst le 14 Oct 2013
They both have to be gray scale images, not color. What does this say:
whos a whos b

Connectez-vous pour commenter.

Taimoor Zafar
Taimoor Zafar le 19 Fév 2015

0 votes

I need to convolve two jpg images by using conv2 command but it's not working . Images are attached.
I am new to this field.
Plz help me
Mahfuj
Mahfuj le 4 Nov 2015

0 votes

The code works fine. But how we can reconstruct two images from the convolved image ?

1 commentaire

Image Analyst
Image Analyst le 4 Nov 2015
You'd have to know one of them, and then use an "inverse filter".

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by