GUIアプリの中で、ウェブカメラの不具合について

matlabで、GUIアプリの作成を行っております。
ウェブカメラを搭載し、カメラから出力した画像を処理するプログラムを作成しました。
AppDesignerでは、正常に動作し、アプリケーションコンパイラーを用いて、アプリを作成しました。
しかし、作成したアプリケーションでは、カメラが全く動作しませんでした。
原因が全く分からないため、教えていただけますと幸いです。
よろしくおねがいします。

댓글 수: 6

Kojiro Saito
Kojiro Saito 2021년 7월 14일
エラー内容が把握できないと原因解明が難しいので、アプリケーションコンパイラで「ランタイム追加設定」の「Windows の実行コマンド シェル (コンソール) を表示しない」のチェックを外してコンパイルしてみてください。カメラが動作しないときに何かエラーメッセージが出るかと思います。
Ibuki Takahashi
Ibuki Takahashi 2021년 7월 15일
ご返信ありがとうございました。
確認したところ、「関数または変数 'webcammex' が認識されません。」というエラーが出ていました。
webcam()という関数を用いて、ウェブカメラの設定を行いましたが、変更する必要があるということでしょうか。
もしお分かりでしたら、ご回答いただけますと幸いです。
よろしくお願いします。
Atsushi Ueno
Atsushi Ueno 2021년 7월 16일
편집: Atsushi Ueno 2021년 7월 27일
(回答に移動しました)
Atsushi Ueno
Atsushi Ueno 2021년 7월 16일
上記Q&Aの状況は少し違いますが、要するにコンパイル時のインクルード環境を自動的に含めてくれるか否か違いがあるそうです。ツールボックスの場合は自動的に含めてくれるけど、サポートパッケージの場合は自分から含めるように指定しないとならない、のだそうです。
Kenta
Kenta 2021년 7월 17일
GUIを作成するときとはちがう状況なのですが、私の場合はこのような形でサポートパッケージを含める画面が出てくるのでそれに関連するかもしれません。何かに役立てば幸いです。
Ibuki Takahashi
Ibuki Takahashi 2021년 7월 27일
たくさんのコメントありがとうございました。とても有意義な回答のおかげで、問題を解決することができました。
できれば、一番参考になりました、こちらのコメントをベストアンサーにさせていただきたいと考えております。
よろしければ、回答のほうに移動していただいてもよろしいでしょうか。

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

 채택된 답변

Atsushi Ueno
Atsushi Ueno 2021년 7월 27일

1 개 추천

Error when running compiled application: Undefined function ’webcammex' - MATLAB Answers - MATLAB Central (mathworks.com): エラーメッセージで検索して見つかった類似の質問と、神回答者イメージアナリスト氏の回答があったので下記に回答の訳を示します
@Image Analyst's Answer in Japanese
今日この問題が発生したので、その解決方法を紹介します。 GUIアプリが
webcamlist
を実行した時点で「関数または変数 'webcammex' が認識されません。」というエラーが発生しました。通常、開発環境でこのコマンドを実行すると、次のような結果になります。
>> webcamlist
ans =
1×1 cell array
{'Integrated Webcam'}
つまり開発環境ではWebカメラが動作しましたが、コンパイルしたスタンドアロンのWindows実行ファイルでは動作しませんでした。必要なサポートパッケージをインストールしていたにもかかわらずです。では、この問題を解決する方法を説明します。
まず、ツールリボンの「ホーム」タブから「アドオン\アドオンの入手」を選択して、サポートパッケージがインストールされていることを確認します。
「MATLAB Support Package for USB Webcams」をインストールします。
さて、ここで予想外のことが起こりました(技術サポートに電話しなければならなかった理由でもあります)。 ツールボックス関数とは異なり、サポートパッケージ関数は、コンパイル時に自動的に検出され、関数に組み込まれることはありません。 mcc関数/コマンドの'-a'オプションで特別に追加する必要があります。 というわけで、基本的には次のような方法で動作するようになりました(技術サポートと20分ほどいろいろ試した後やっと)
mFileName = 'my_webcam_app.m'; % か何か。貴方のm-file名に合わせて変更してください
outputFolder = 'C:\My MATLAB Executables'; % コンパイルした"my_webcam_app.exe"の在り処にしてください
fprintf('%s 現在 %s アプリのコンパイル開始...\n', datestr(now), mFileName);
tic;
% コンパイルの準備が整いました
% その前に、下記のR2020aを、ご使用のリリース名に合わせて変更してください
mcc('-m', mFileName, '-d', outputFolder, '-a', 'C:\ProgramData\MATLAB\SupportPackages\R2020a\toolbox\matlab\webcam\supportpackages');
% コンパイル完了。 完了したことと、コンパイルにかかった時間を開発者に伝えます
elapsedSeconds = toc;
minutes = int32(floor(elapsedSeconds / 60));
seconds = elapsedSeconds - 60 * double(minutes);
message = sprintf('%s 現在 %s アプリのコンパイルが完了しました。%d 分と %.1f 秒掛かりました。\n', datestr(now), mFileName, minutes, seconds);
fprintf('%s\n', message);
msgboxw(message);
詳細については、技術サポートから入手したドキュメントのリンクを参照してください。
これは私が言及した資料で、コンパイルされたアプリケーションにサポートパッケージを含める方法について説明しています。
これで、コンパイル済のWebカメラアプリケーションを動作させるのに役立つことを願っています。 役に立った場合は、私の回答の一番上にある投票ボタンをクリックしてください。

댓글 수: 1

Atsushi Ueno
Atsushi Ueno 2021년 7월 27일
本回答は類似質問の回答の翻訳です。従って「私の回答の一番上にある投票ボタンをクリックしてください」とは本回答の事ではなく、下記リンク先の回答の事です。投票したげてくださいね。

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 スタンドアロン アプリケーション에 대해 자세히 알아보기

질문:

2021년 7월 14일

댓글:

2021년 7월 27일

Community Treasure Hunt

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

Start Hunting!