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

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

6 comentarios

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

Iniciar sesión para comentar.

 Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 27 de Jul. de 2021

1 voto

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 comentario

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre スタンドアロン アプリケーション en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 14 de Jul. de 2021

Comentada:

el 27 de Jul. de 2021

Community Treasure Hunt

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

Start Hunting!