uint8 and double in case of image

10 ビュー (過去 30 日間)
vaishali
vaishali 2014 年 11 月 27 日
編集済み: Image Analyst 2014 年 11 月 27 日
Hello
In one of the image encryption method I need to convert an image from uint8 to double. But after converting the whole, image is losing some information only white colour with some coloured dots will appear in that double image. so after the required task how to convert it to original image? please guide..
Thanks

採用された回答

per isakson
per isakson 2014 年 11 月 27 日
Try
a=imread('lena.jpg');
imshow(a);
b=double(a);
imshow(b/255);
  1 件のコメント
vaishali
vaishali 2014 年 11 月 27 日
Thank You Per Isakson..

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

その他の回答 (1 件)

Image Analyst
Image Analyst 2014 年 11 月 27 日
Look at the variable in the workspace/variable editor and tell me if there is data loss there. Chances are you're just not displaying it correctly. For double, if it's not in the range o-1, you need to use [] as the second argument in imshow():
imshow(doubleImage, []);
  2 件のコメント
vaishali
vaishali 2014 年 11 月 27 日
編集済み: per isakson 2014 年 11 月 27 日
in workspace the number of elements not changing.but while displaying
a=imread('lena.jpg');
imshow(a);
b=double(a);
imshow(b,[]);
after converting it to double it is showing blank white background with some dots. if this is the case how to get back original lena?
Image Analyst
Image Analyst 2014 年 11 月 27 日
編集済み: Image Analyst 2014 年 11 月 27 日
The badly-named "a" must be a color image. You cannot display double RGB images unless they're in the range 0-1. You must cast to uint8 first. And since it's color, you won't need the [] - it will ignore them.
imshow(uint8(b));
Or you can divide your array by 255 (which is intmax('uint8')) like per showed.

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

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by