Montage関数を​使って,任意の枚数の​連続画像を一つにまと​めることができません​.

17 vues (au cours des 30 derniers jours)
Yoko
Yoko le 18 Nov 2021
Commenté : Yoko le 18 Nov 2021
プログラミング初心者です.
以下のコードで,選択したフォルダから連続番号の任意の枚数(8~20枚程度)のjpg形式画像を読み込み,一つの画像としてまとめたいと思っていますが,上手く行きません.
どこに問題があるのでしょうか..教えて頂けると大変助かります.
fileFolder = uigetdir(); % Open the selected folder
imds = imageDatastore(fullfile(fileFolder,'AT*')); % Select the all images in this folder
montage(imds)
指定するフォルダ(例 D:\Document\MATLAB\AT)の中には"AT01, AT02, AT03...."とラベリングされたjpg形式の画像ファイルが複数入っています.
どうぞよろしくお願いいたします.
  4 commentaires
Atsushi Ueno
Atsushi Ueno le 18 Nov 2021
おかしいですね。montage関数はイメージ データストアの入力も受け付けます。下記はmontage関数の一部抜粋です。if文の2番目(elseif)で引っ掛かるべき所、3番目(else)まで行ってますね。
I = varargin{1};
if iscell(I) || isstring(I)
nframes = numel(I);
elseif isa(I,'matlab.io.datastore.ImageDatastore')
nframes = numel(I.Files);
else
validateattributes(I, ...
{'uint8' 'double' 'uint16' 'logical' 'single' 'int16'}, {}, ...
nfukebane, 'I, BW, or RGB', 1);
条件に当てはまる画像が指定フォルダに有ればイメージ データストアが出力されますし、無ければエラーの為イメージ データストアが出力される前に止まってしまうはずなのですが...
fileFolder = pwd; % uigetdir(); % Open the selected folder
imds = imageDatastore(fullfile(fileFolder)); % Select the all images in this folder
isa(imds,'matlab.io.datastore.ImageDatastore')
ans = logical
1
Atsushi Ueno
Atsushi Ueno le 18 Nov 2021
montage関数について上記コメントは間違いないですが、適用されたのがR2018aでした。
従ってR2017b以前の MATLAB 及び Image Processing Toolbox ではイメージ データストアの入力を受け付けません。

Connectez-vous pour commenter.

Réponse acceptée

Atsushi Ueno
Atsushi Ueno le 18 Nov 2021
R2017b以前の MATLAB 及び Image Processing Toolbox ではmontage関数がイメージ データストアの入力を受け付けないので、イメージデータストアの代わりに、その中のファイル名(セル配列)をmontage関数に入力する事で問題が解消します。
fileFolder = uigetdir(); % Open the selected folder
imds = imageDatastore(fullfile(fileFolder,'AT*')); % Select the all images in this folder
montage(imds.Files); % imdsからimds.Filesに変更しました
  1 commentaire
Yoko
Yoko le 18 Nov 2021
おっしゃる通りでした!
MATLAB R2017bを使っております.
教えて頂いた変更で上手くいきました.
ありがとうございます!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!