MATLAB

2016-04-04 49 views
1

'da wavedec2'den sonra altplot kullanmadan görüntü yok wavedec2'daki MathWorks eğitimini izledim ve katsayı veya yaklaşma alt piksellerinden herhangi birini düzgün görüntüleyemiyorum.MATLAB

Bunu nasıl düzelttiğimi öneren herkes, yaklaşım ve ayrıntı alt piksellerini doğru şekilde görüntüleyebilir mi?

% Load image ‘Sample.tif’ and convert it into a grayscale image, denoted with ‘img1’ 
I = imread('Sample.tif'); 
img1 = rgb2gray(I); 

% Decompose img1 with wavelet transform using function wavedec2 
% Perform decomposition at level 2 
% of X using haar. 
[C,S] = wavedec2(I,2,'haar'); 

[H1,V1,D1] = detcoef2('all',C,S,1); 
A1 = appcoef2(C,S,'haar',1); 
V1img = wcodemat(V1,255,'mat',1); 
H1img = wcodemat(H1,255,'mat',1); 
D1img = wcodemat(D1,255,'mat',1); 
A1img = wcodemat(A1,255,'mat',1); 

[H2,V2,D2] = detcoef2('all',C,S,2); 
A2 = appcoef2(C,S,'haar',2); 
V2img = wcodemat(V2,255,'mat',1); 
H2img = wcodemat(H2,255,'mat',1); 
D2img = wcodemat(D2,255,'mat',1); 
A2img = wcodemat(A2,255,'mat',1); 

subplot(2,2,1); 
imagesc(A1img); 
colormap red(255); 
title('Approximation Coef. of Level 1'); 

subplot(2,2,2); 
imagesc(H1img); 
title('Horizontal detail Coef. of Level 1'); 

subplot(2,2,3); 
imagesc(V1img); 
title('Vertical detail Coef. of Level 1'); 

subplot(2,2,4); 
imagesc(D1img); 
title('Diagonal detail Coef. of Level 1'); 

çıkışı burada ve tüm subplots tamamen beyazdır:

enter image description here

Sample.tif buradadır:

Bu

Bugüne kadar ne var enter image description here

cevap

1

dat Resimlerinizin net değeri double'dur, ancak resimlerinizin değer aralığı [0 255], böylece resminizi iyi veri tipine çevirmeniz gerekir. [0 255] uint8 veri türü aralığına tekabül yüzden sadece yazabilirsiniz:

imagesc(uint8(A1img)); 

veya

A1img = uint8(A1img); 

enter image description here

+0

D'oh! Teşekkürler, bu işe yaramalı. –