problem with the use of medfilt2

조회 수: 1 (최근 30일)
joanna
joanna 2012년 11월 16일
댓글: Image Analyst 2017년 12월 7일
i want to reduce the noise of my image after i apply histogram equalization but i cannot seem to make it work.
I1 = rgb2gray(image1);
i1 = histeq(I1);
med1 = medfilt2(i1)
axes(handles.axes7);
imshow(med1);
  댓글 수: 3
Walter Roberson
Walter Roberson 2012년 11월 16일
try
imshow(med1, [])
Image Analyst
Image Analyst 2012년 11월 16일
Should not be necessary unless image1 was a floating point rgb image, which would be very rare/unusual. If image1 is uint8, then I1 and i1 and med1 will all be uint8 also, and so [] would just scale the image for display but it should have displayed even with out that.

댓글을 달려면 로그인하십시오.

답변 (2개)

Image Analyst
Image Analyst 2012년 11월 16일
Try this code and see if it works.
image1 = imread('peppers.png');
I1 = rgb2gray(image1);
i1 = histeq(I1);
med1 = medfilt2(i1);
imshow(med1);
It's essentially your code and works fine for me.

Nidhi Adakoli
Nidhi Adakoli 2017년 12월 7일
clc;
close all;
clear all;
f=imread('nid1.jpg');
% fg=rgb2gray(f);
figure(1);imshow(f,[]);
fn=imnoise(f, 'salt & pepper', 0.1);%add 10% salt & pepper noise
figure(2)
subplot(2,2,1);
imshow(f);title('original image');
subplot(2,2,2);
imshow(fn);title('10% salt & pepper noise');
% noise removal by using average filter
w=[1 1 1; 1 1 1;1 1 1]*(1/9);
f_avg1=imfilter(fn,w,'conv');
subplot(2,2,3);
imshow(f_avg1);title('average filtered image');
%noise removal by using median filter
f_med1=medfilt2(fn);
subplot(2,2,4);
imshow(f_med1);title('median filtered image');
I am finding problem with line number 19 that is using median Average filter, it shoots up an error!
  댓글 수: 1
Image Analyst
Image Analyst 2017년 12월 7일
You forgot to attach nid1.jpg and the error message. You should probably start your own question for this rather than tack onto Joanna's discussion.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by