imwrite with window/level setting

Is there anyway to imwrite an image with a specific window/level setting?
'
I've tried to imwrite(getframe(gcf).cdata, 'myfilename.png') but it doesn't preserve the window/level setting I had with caxis

回答 (1 件)

Srija Kethiri
Srija Kethiri 2022 年 8 月 24 日
編集済み: Srija Kethiri 2022 年 8 月 24 日

0 投票

Hi Alan,
To get the color limits same as caxis, create a map of matrix with 3 columns and desired number of rows by using randi() function.
If the input data is double then normalize the map matrix. This map matrix can be given to the imwrite function to get the image in the required color limits
map = randi([min(caxis),max(caxis)],<desired no. of rows>, 3);
map = map - min(map(:));
map = map/max(map(:));
imwrite(getframe(gcf).cdata, map,'myfilename.png');
You can refer the following documentations for better understanding of
Hope this helps!

カテゴリ

ヘルプ センター および File ExchangeImage Processing Toolbox についてさらに検索

質問済み:

2021 年 1 月 11 日

編集済み:

2022 年 8 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by