0

作成した matlab GUI でプッシュ ボタンを使用して文字列を更新するのにかなり問題があります。目標は、このボタンが画像に対して機能を実行し、その文字列が GUI のテキスト ボックスに配置されてから、古い文字列を新しい画像の文字列に置き換えることです。

私が遭遇した主な問題は、ファイルを .raw 形式にする必要があることですが、どうすればそれを達成できるかわかりません。ガイド GUI コードに次のコードを追加することで、古い文字列を .png 形式の新しい文字列に置き換えることができます。

handles.currentImage = imread(get(handles.Textbox1,'string'));
handles.currentImage = Addnoise(handles.currentImage); %addnoise is the function i created. 
imwrite(handles.currentImage, 'photonoise', 'png');
pathname = 'C:\Documents and Settings\staff\My Documents\MATLAB\photonoise.png';
set(handles.Textbox1, 'string', fullfile(pathname));

しかし、文字列形式を .raw にする方法が完全にわかりません。GUI または Addnoise 関数に追加する必要があるコードが不明な場合は、お知らせください。よろしくお願いします。

4

1 に答える 1

0

.rawイメージは でサポートされていないためimwrite、使用できません。ただし、.raw圧縮されていない画像形式であるため、これは を使用して簡単に実行できますfwrite

ゼロのみの 300 x 100 マトリックス (黒) を使用した例を次に示します。

cmodel=(zeros(300,100,1));
fid=fopen('blackimage.raw','w+');
cnt=fwrite(fid,cmodel,'uint8');
fclose(fid);

したがって、あなたの場合、これを次のように変更する必要があります。

fid=fopen('myimage.raw','w+');
cnt=fwrite(fid,handles.currentImage,'uint8');
fclose(fid);

警告:.raw形式に関する私の知識はかなり限られているimreadため、これを一粒 (場合によっては立方体) の塩分と一緒に受け取ってください。

于 2013-06-20T14:56:53.937 に答える