Using imsharpen with imagesc

1 回表示 (過去 30 日間)
Articat
Articat 2019 年 9 月 25 日
回答済み: Subhadeep Koley 2019 年 10 月 29 日
Can you use imsharpen with imagesc?
Trying to use imshapren with the following code:
figure
PLIFData_rot = (flipud(PLIFdata(:,:,imFrame)));
FiltImPLIF = imguidedfilter(imgaussfilt((PLIFData_rot)));
imagesc(xVecPLIF,yVecPLIF,double(FiltImPLIF)/double(max(max(FiltImPLIF))));
set(gca,'YDir','normal');
colormap('hot');
caxis([0 .1]);
xlabel('x');
ylabel('y');
pbaspect([50 50 1]);
  2 件のコメント
Adam
Adam 2019 年 9 月 25 日
imsharpen acts on the raw data so it is independent of how you visualise the data afterwards. So yes, no reason why you can't use it with imagesc. Just apply it first to the raw data, them pass the result to imagesc instead of the original.
Articat
Articat 2019 年 9 月 25 日
I tried setting I equal to the imagesc() argument and then later sharpening the image but I get the error: "image cannot be a child of image". Any ideas?

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

採用された回答

Subhadeep Koley
Subhadeep Koley 2019 年 10 月 29 日
Hi, from your previous comment it seems that you are trying to pass the image object returned by imagesc() into the input of imsharpen(). Something like below,
I = imagesc(xVecPLIF,yVecPLIF,double(FiltImPLIF)/double(max(max(FiltImPLIF))));
sharpenImage = imsharpen(I);
In the code above I is an matlab.graphics.primitive.Image object whereas, input of imsharpen() is designed to be a grayscale or truecolor (RGB) image one of these types: uint8, int8, uint16, int16, uint32, int32, single, double.
Instead, try this
FiltImPLIF_Sharpen = imsharpen(double(FiltImPLIF)/double(max(max(FiltImPLIF))));

その他の回答 (0 件)

カテゴリ

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