iPhoneのカメラ​を用いてリアルタイム​で撮影し​た画像から​文字認識を​行い、画​像を表示する

11 views (last 30 days)
竣 齊藤
竣 齊藤 on 3 Oct 2021
Commented: Kenta on 3 Oct 2021
前にご教授して頂いたときは、PCのカメラを使用して文字認識を行うというものでしたが、matlab mobileを用いてPCカメラで撮影するのではなくiPhoneカメラで撮影したいと考えています。
m = mobiledev;
cam = camera(m,'back');
videoFrame = snapshot(cam,'manual');
frameSize = size(videoFrame);
videoPlayer = vision.VideoPlayer('Position', [100 100 [frameSize(2), frameSize(1)]+30]);
runLoop = true;
while runLoop
videoFrame = snapshot(cam);
results = ocr(videoFrame);
Ninshikimoji = lower(results.Words);
Ninshikiwaku = results.WordBoundingBoxes;
Jisho = readtable('allergy.xlsx','ReadRowNames',true);
word = categorical(Jisho.word);
Mininshiki = blanks(0);
for n = 1:size(Ninshikimoji,1)
if any(word == Ninshikimoji{n})
Shoukai = Jisho{Ninshikimoji{n},:};
videoFrame = insertObjectAnnotation(videoFrame,'rectangle',Ninshikiwaku(n,:),Shoukai{:},'font','Yu Gothic Bold');
x = Ninshikiwaku(n,1); y = Ninshikiwaku(n,2); w = Ninshikiwaku(n,3); h = Ninshikiwaku(n,4);
logo = imresize(imread([Shoukai{:} '.png']),0.3);
videoFrame(y:(y+size(logo,1)-1),(x+w):(x+w+size(logo,2)-1),:) = logo;
else
Mininshiki = [Mininshiki ' ' Ninshikimoji{n}];
end
end
step(videoPlayer, videoFrame);
runLoop = isOpen(videoPlayer);
end
clear cam;
release(videoPlayer);
自分でできるのかをmatlab mobileでやってみたのですが、上記のプログラムで「このデバイスへの接続は、ワークスペースに既に存在します。」とエラーが出てしまいました。
今回、ご教授して頂きたい点は、エラーの解決方法とプログラムの添削となります。
ご教授の程よろしくお願いいたします。

Accepted Answer

Kenta
Kenta on 3 Oct 2021
>このデバイスへの接続は、ワークスペースに既に存在します
とはすでにmobiledev objectが存在しているからで、単にclearと一番上にうてばよいとおもったのですが、いかがでしょうか
  2 Comments
竣 齊藤
竣 齊藤 on 3 Oct 2021
clearを一番先頭に持っていき、m = mobiledev;を削除したところ、実行することができました。
Kenta
Kenta on 3 Oct 2021
@竣 齊藤 報告ありがとうございます。よかったです

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Mobile in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!