% すべてのコードをコピーし、保存して実行するだけです
関数zd479599250
% 画像を読み取るための GUI ボタンを作成します。機能は次のとおりです:
% ボタンをクリックしてダイアログ ボックスをポップアップ表示し、ダイアログ ボックスから画像を選択します。
% 座標系とボタンを含む描画ウィンドウを作成します
axes('units','normal','pos',[.1 .3 .8 .6]);
uicontrol('style','push','units','normal','pos',[.4 .1 .2 .1],'str','Open...','call' 、@localOpenPic)
function localOpenPic(varargin)% ボタンのコールバック関数。最初にユーザーが画像ファイルを選択し、それを開いて表示します。
% 画像ファイルの種類 (不完全、デモンストレーションのみ)
フィルター = { ...
'*.bmp;*.jpg;*.gif;*.emf', 'すべての画像ファイル (*.bmp; *.jpg; *.gif; *emf)'; ...
'*.bmp', 'ビットマップ ファイル (*.bmp)'; ...
'*.jpg', 'JPEG ファイル (*.jpg)'; ...
'*.gif', 'GIF ファイル (*.gif)'; ...
'*.emf', 'メタファイル (*.emf)'; ...
###'*。*'、 'すべてのファイル (*。*)' ...###};
% ドキュメントを選択してください
[ファイル名, パス名] = uigetfile(フィルター, '開く...');
if isequal(ファイル名,0) | isequal(パス名,0), return, end
% 画像を読み取って表示します
[X, マップ] = imread([パス名 ファイル名]);
カラーマップ(マップ)
画像(X)
% 画像を表示するための適切な方法に座標系を設定します。
軸イメージset(gca, 'vis', 'off')
matlab は画像の座標を読み取ります
1、Windows ペイントブラシを使用してモノクロ ビットマップとして保存します
im=imread('my_im.bmp'); %画像を読む
index=find(im==1); %グラフ内の「黒い点」の座標を見つけます。座標は一次元データです。
s=size(im); %画像サイズの読み取り
[y,x]=ind2sub(s,index); %2次元座標に変換します。 x は点の横座標、y は点の縦座標です。
%-------------------------------------
%インポートデータが機能しません。元の画像は赤、緑、青の 3 つのマトリックスで構成されており、読み取られると当然 3 次元になります。 256*256 の行列を読み込んだ場合でも、find 関数を使用して行列内の点を見つけて、座標を変換する必要があります。
MATLAB を使用して画像を処理する方法
これは、MATLAB フォーラムから画像をバッチで読み取るだけです。a.m ファイルを添付ファイル 1 フォルダーに直接置き、直接実行します。デバッグはパスします。
imname = dir('.\*.bmp');%
im_num = 長さ(imname);%
im_temp = imread(imname(1).name,'bmp');%
[height,width] = size(im_temp);%画像のサイズを取得します
DB(:,:,a) = ゼロ(高さ,幅,im_num,'uint8');
% すべての画像を読む
a = 1:length(imname)の場合
DB(:,:,a) = imread(imname(a).name,'bmp');%画像データの読み取り
###終わり###
画像をバッチで読み取るcat 関数を使用して接続します;
各音符の境界線
ima = DB(:,:,a);
im_left = ima(:,1);
im_right= ima(:,end);
グレーの値は 0 255 です。数値を 2 値化したい場合は、im2bw
を使用できます。
私の答えを受け入れてください!私のコードはデバッグに合格しました
これで問題は解決できますか?
以上がMatlab GUI で画像を読み取るボタンを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。