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

8 visualizaciones (últimos 30 días)
竣 齊藤
竣 齊藤 el 30 de En. de 2022
Comentada: 竣 齊藤 el 31 de En. de 2022
英語表記の食品成分表示表を文字認識して,成分表示表内に含まれているアレルゲンを使用して,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 comentarios
Atsushi Ueno
Atsushi Ueno el 30 de En. de 2022
メッセージ ダイアログ ボックスはどうでしょう。
竣 齊藤
竣 齊藤 el 31 de En. de 2022
メッセージを使用したら,上手く出来ました.
ご教授して頂き,ありがとうございます.

Iniciar sesión para comentar.

Respuesta aceptada

Hernia Baby
Hernia Baby el 30 de En. de 2022
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 comentario
竣 齊藤
竣 齊藤 el 31 de En. de 2022
実行できました.
ご教授して頂き,ありがとうございます.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!