選択肢があるクイズのプログラムを作成する
Afficher commentaires plus anciens
はじめに、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
プログラムは作成してみたのですが、様々なエラーが出てしまいました。
今回ご教授して頂きたい点は、プログラムを実行するために必要な修正箇所です。
ご教授の程よろしくお願いいたします。
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur プログラミング dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!