言葉のみを別のウィンドウに表示する

5 次查看(过去 30 天)
竣 齊藤
竣 齊藤 2022-1-30
评论: 竣 齊藤 2022-1-31
英語表記の食品成分表示表を文字認識して,成分表示表内に含まれているアレルゲンを使用して,3択の日本語を選ぶクイズを作成しています.
上記の画像が,成分表示表の画像です.
[file,path,indx] = uigetfile({'*.*'});
photo = fullfile(path,file);
img = imread(photo);
results = ocr(img);
Ninshikimoji = lower(results.Words);
Ninshikiwaku = results.WordBoundingBoxes;
Jisho = readtable('allergy1.xlsx','ReadRowNames',true);
word = categorical(Jisho.word);
Mininshiki = blanks(0);
m = 0;
for n = 1:size(Ninshikimoji,1)
if any(word == Ninshikimoji{n})
Shoukai = Jisho{Ninshikimoji{n},:};
% 追加箇所:ここから
img = insertObjectAnnotation(img,'rectangle',Ninshikiwaku(n,:),Shoukai{:},'font','Yu Gothic Bold');
%img = insertText(img,Ninshikiwaku(n,[1 2]),Shoukai{:},'font','fonts-japanese-gothic','AnchorPoint','LeftBottom');
x = Ninshikiwaku(n,1); y = Ninshikiwaku(n,2); w = Ninshikiwaku(n,3); h = Ninshikiwaku(n,4);
logo = imresize(imread([Shoukai{:} '.png']),0.3);
img(y:(y+size(logo,1)-1),(x+w):(x+w+size(logo,2)-1),:) = logo;
% 追加箇所:ここまで
m = m+1;
tango{m} = Ninshikimoji{n};
moji{m} = Shoukai;
else
Mininshiki = [Mininshiki ' ' Ninshikimoji{n}];
end
end
n = 1;
a = cell(3,1);
while n < 4
a{n} = randsample(m,1);
if n == 3
if not(a{2}==a{3} & a{1}==a{3})
break
else
n;
end
elseif n == 1
n = n+1;
elseif n == 2
if not(a{1}==a{2})
n = n+1;
else
n;
end
end
end
b = a{1};
c = a{2};
d = a{3};
n = randsample(3,1);
if n == 1
f = a{n};
elseif n == 2
f = a{n};
elseif n == 3
f = a{n};
end
answer = questdlg(tango{f}, ...
'食物アレルゲンの英単語', ...
moji{b},moji{c},moji{d},moji{f});
g = moji{f};
if answer{1,1} == g{1,1}
disp(['せいかい!'])
elseif not(answer{1,1} == g{1,1})
disp(['はずれ・・・。せいかいは、',g{1,1}])
end
今回ご教授して頂きたい点は,「せいかい」や「はずれ・・・。せいかいは、」などの最後の言葉をコマンドウィンドウではなく,別のウィンドウを開いて表示させたいと考えています.
ご教授の程,よろしくお願いいたします.
  2 个评论
Atsushi Ueno
Atsushi Ueno 2022-1-30
メッセージ ダイアログ ボックスはどうでしょう。
竣 齊藤
竣 齊藤 2022-1-31
メッセージを使用したら,上手く出来ました.
ご教授して頂き,ありがとうございます.

请先登录,再进行评论。

采纳的回答

Hernia Baby
Hernia Baby 2022-1-30
msgbox で解決できます。
例を示します。以下コピペでお願いします。
clc,clear
A = ["正解!";"間違い!"];
% 正解か間違いかランダムで表記
ii = randi(2,1);
% 間違いの場合は以下の分加える
answer = "ブドウ";
if ii == 2
A(ii) = A(ii) + sprintf("\n正解は%sでした",answer);
end
f = msgbox(sprintf('%s',A(ii)));
  1 个评论
竣 齊藤
竣 齊藤 2022-1-31
実行できました.
ご教授して頂き,ありがとうございます.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!