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

 Akzeptierte Antwort

Image Analyst
Image Analyst am 13 Okt. 2013
Bearbeitet: Image Analyst am 13 Okt. 2013

0 Stimmen

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 Kommentare

Image Analyst
Image Analyst am 13 Okt. 2013
Why do you want to do this anyway - what does it mean? It doesn't make sense to me.
SAM
SAM am 13 Okt. 2013
i would like to calculate the blurring effect...
Image Analyst
Image Analyst am 13 Okt. 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 am 13 Okt. 2013
Bearbeitet: SAM am 13 Okt. 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 am 13 Okt. 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 am 14 Okt. 2013
Well that's fine, but that's not at all what you are doing.
Anand
Anand am 14 Okt. 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 am 14 Okt. 2013
ya i got it
SAM
SAM am 14 Okt. 2013
@image analyst
so what should i do?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Matt J
Matt J am 13 Okt. 2013
Bearbeitet: Matt J am 13 Okt. 2013

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Taimoor Zafar
Taimoor Zafar am 19 Feb. 2015

0 Stimmen

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 am 4 Nov. 2015

0 Stimmen

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

1 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by