イメージを表示するための 2 つの軸がある 1 つの MATLAB GUI を設計しました。「imcontrast」関数を使用して、最初の軸の画像の明るさ/コントラストを調整しています。ここで、この強化された出力 (明るさ/コントラストを調整した出力) を変数に保存したいと思います。「imcontrast」関数は出力画像を返さないので、どうすれば出力画像を取得できますか? または特定の軸から画像データを読み取る方法はありますか? 「getimage」関数を試してみましたが、Handle Graphics オブジェクト (つまり、以前に表示された入力画像) に含まれる最初の画像データが返され、最新の明るさ/コントラスト調整された画像は返されません。「imcontrast」関数によって与えられた明るさ/コントラスト調整された画像を保存するのを手伝ってください。
2232 次
1 に答える
1
これを使って -
imcontrast(gca) %// Perform imcontrast
waitfor(gcf); %// Wait for figure data to be updated with imcontrast
image_data = getimage(gcf);%// Store image data as image_data variable
GUI 内での使用方法
使用方法を紹介するために、MATLAB-Guide でプッシュボタンを作成し、そのコールバック関数でこれを使用できます -
%// Show the image on an existing image axes of the GUI.
imshow('pout.tif') %// This image is available in MATLAB image library.
imc_figure = imcontrast(gca) %// Perform imcontrast
waitfor(imc_figure); %// Wait for the data to be updated in the current figure
image_data = getimage(gcf);%// image data stored into image_data variable
%// Open image_data on a separate figure window for verification.
%// Make sure this is the updated image.
figure,imshow(image_data)
スタンドアローンコードとしての使い方
Im = imread('cameraman.tif');%// This image is available in MATLAB image library.
h1 = imshow(Im)
h2 = imcontrast(gca); %// Perform imcontrast
waitfor(h2); %// Wait for figure data to be updated with imcontrast
image_data = getimage(gcf);%// Store modified image data
%// Show modified image data for verification
figure,imshow(image_data)
于 2014-05-17T16:15:17.363 に答える