選択肢があるクイズのプログラムを作成する
Show older comments
はじめに、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
プログラムは作成してみたのですが、様々なエラーが出てしまいました。
今回ご教授して頂きたい点は、プログラムを実行するために必要な修正箇所です。
ご教授の程よろしくお願いいたします。
Accepted Answer
More Answers (0)
Categories
Find more on プログラミング in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!