選択肢があるクイズのプログラムを作成する
显示 更早的评论
はじめに、OCR関数を用いて、英単語を読み取り、その英単語がallergy.xlsx内にあるかの判別を行います。順番に認識していき、英単語がallergy.xlsx内にあった場合、英単語と日本語訳とイラストに番号をつけていきます。次に、選択肢のランダムで3つ選びます。(このとき重複しないようにします。)その後、3つの中から答えとなるものを選びます。最後に問題を出題し、選択肢がイラストで表示されるようにします。


img = imread('C:\Users\shun_\OneDrive\デスクトップ\研究室2\成分表示.jpg');
results = ocr(img);
Ninshikimoji = lower(results.Words);
Ninshikiwaku = results.WordBoundingBoxes;
Jisho = readtable('allergy.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} = word;
moji{m} = Shoukai;
fig{m} = logo;
else
Mininshiki = [Mininshiki ' ' Ninshikimoji{n}];
end
end
n = 1;
while n < 4
a{n} = randsample(m,1);
if not(a{1}==a{2} & a{2}==a{3} & a{1}==a{3})
n = n+1;
else
return
end
end
b = a{1};
c = a{2};
d = a{3};
t = 1;
while t < 2
n = randsample(3,1);
if n == 1
f = a{n};
elseif n == 2
f = a{n};
elseif n == 3
f = a{n};
end
t = t+1;
end
txt = [tango{f},'のいみをえらんでください '];
answer = questdlg(txt, ...
'選択肢', ...
fig{b},fig{c},fig{d},fig{f});
switch answer
case fig{b}
if fig{b}==fig{f}
disp(['せいかい!'])
else
disp(['はずれ・・・。せいかいは、',fig{f}])
end
case fig{c}
if fig{c}==fig{f}
disp(['せいかい!'])
else
disp(['はずれ・・・。せいかいは、',fig{f}])
end
case fig{d}
if fig{d}==fig{f}
disp(['せいかい!'])
else
disp(['はずれ・・・。せいかいは、',fig{f}])
end
end
プログラムは作成してみたのですが、様々なエラーが出てしまいました。
今回ご教授して頂きたい点は、プログラムを実行するために必要な修正箇所です。
ご教授の程よろしくお願いいたします。
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 プログラミング 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!