필터 지우기
필터 지우기

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

조회 수: 20 (최근 30일)
竣 齊藤
竣 齊藤 2021년 10월 3일
댓글: Kenta 2021년 10월 3일
前にご教授して頂いたときは、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でやってみたのですが、上記のプログラムで「このデバイスへの接続は、ワークスペースに既に存在します。」とエラーが出てしまいました。
今回、ご教授して頂きたい点は、エラーの解決方法とプログラムの添削となります。
ご教授の程よろしくお願いいたします。

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB Mobile에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!