denoise rgb image use wavelet

1 次查看(过去 30 天)
michael scheinfeild
i want to denoise rgb image , i want that output image will be also rgb but i just have white output i want to keep the rgb info i dont want to use the method in
http://www.mathworks.com/help/toolbox/wavelet/gs/f4-1013594.html since the rgb info lost ==================================
unregistered = imread('westconcordaerial.png');
figure(1), imshow(unregistered);title('original')
vSpeckle = 0.05;
imgaddnoise = imnoise(unregistered,'speckle',vSpeckle);
figure(2), imshow(imgaddnoise);title('with speckle noise')
//------------------
method 1 not work
for(lcolor=1:3)
ximg=double(imgaddnoise(:,:,lcolor));
[thr,sorh,keepapp] = ddencmp('den','wv', ximg);
imgOutWavelet(:,:,lcolor) = wdencmp('gbl',ximg,'sym4',2,thr,sorh,keepapp);
mx = max(max( imgOutWavelet(:,:,lcolor)))
imgOutWavelet(:,:,lcolor) =imgOutWavelet(:,:,lcolor)/mx;
end
figure(6)
imagesc( imgOutWavelet);title('filtered image wavelets ')
---------------
% method two i dont want to do !!!
A = double(imgaddnoise);
Xrgb = 0.2990*A(:,:,1) + 0.5870*A(:,:,2) + 0.1140*A(:,:,3);
NbColors = 255;
X = wcodemat(Xrgb,NbColors);
map = pink(NbColors);
[thr,sorh,keepapp] = ddencmp('den','wv', X);
xd = wdencmp('gbl',X,'sym4',2,thr,sorh,keepapp);
% its not rgb already . .

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Denoising and Compression 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by