フィルターのクリア

Image processing problem

1 回表示 (過去 30 日間)
hanpuss
hanpuss 2012 年 3 月 1 日
I am trying to decompose an image with wavedec2 and reconstruct it with waverec2 using the below simple codes.
The problem is that the resulting image imshow(y) is totally white, while imshow(x) shows a normal photo. Any help is much appreciated!
x = imread('flower.jpg');
x = rgb2gray(x);
[c,s] = wavedec2(x,2,'haar');
y = waverec2(c,s,'haar');
imshow(y);

回答 (2 件)

UJJWAL
UJJWAL 2012 年 3 月 1 日
Before imshow(y); enter this statement
y = uint8(y);
Now you will get the correct result.
This is because x is of type uint8 while y is double. So you will not see them in the same way unless you change from double to uint8 which is accomplished by the above command
  1 件のコメント
hanpuss
hanpuss 2012 年 3 月 1 日
Thank you so much UJJWAL, it really helps!
I have also realized that x = im2double(x); would also solve the problem, probably by the same reason that you explained.

サインインしてコメントする。


Image Analyst
Image Analyst 2012 年 3 月 2 日
If your numbers don't cover the range 0-255 fairly well, your image may not look good if you cast it to uint8. I suggest just using [] for display:
imshow(y, []);
  1 件のコメント
hanpuss
hanpuss 2012 年 3 月 4 日
Thank you, Image Analyst!!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by