iPhoneのカメラを用いてリアルタイムで撮影した画像から文字認識を行い、画像を表示する
3 次查看(过去 30 天)
显示 更早的评论
前にご教授して頂いたときは、PCのカメラを使用して文字認識を行うというものでしたが、matlab mobileを用いてPCカメラで撮影するのではなくiPhoneカメラで撮影したいと考えています。![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/756674/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/756674/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/756679/image.jpeg)
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でやってみたのですが、上記のプログラムで「このデバイスへの接続は、ワークスペースに既に存在します。」とエラーが出てしまいました。
今回、ご教授して頂きたい点は、エラーの解決方法とプログラムの添削となります。
ご教授の程よろしくお願いいたします。
0 个评论
采纳的回答
Kenta
2021-10-3
>このデバイスへの接続は、ワークスペースに既に存在します
とはすでにmobiledev objectが存在しているからで、単にclearと一番上にうてばよいとおもったのですが、いかがでしょうか
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!