Kenta現在、以下のリンクについて実行しています。https://jp.mathworks.com/help/vision/ref/trainacfobjectdetector.htmlしかしこれを、webカメラから取り込んだ画像で行いたく、プログラムの作成を行っております。どのようにしたらよいかご教授お願い致します。Clipboardこんにちは、ウェブカメラで行いたいのは、学習のほうではなく、推論のほうのみ、ということで正しいでしょうか。推論の場合であれば、リンクのI=imread('...')のところをwebcameraからの画像に変更すれば可能です。snapshot(cam);とすれば、ウェブカメラからの画像をインプットとして扱えます。目的がつかみ切れていないので、もしこれで不十分であれば、適宜補足いただけると幸いです。Clipboardご返信ありがとうございます(遅くなり申し訳ございません。)行いたいのは、その通りで、ウェブカメラから取り込んだリアルタイムの画像(映像)で、機械学習(ACFObjectdetector)を用いて推論を行いたい、ということです。説明不足で申し訳ありませんでした。アドバイス通りにやってみようと思います。質問させて頂くかもしれませんが、宜しくお願い致します。Clipboardこんにちは、返信ありがとうございます。「リアルタイム」を何fpsと定義するかは、場合によると思うのですが、ウェブからメラの関数の設定でフレームレートも変えることができます。問題があればご報告ください。Clipboard度々の質問となり申し訳ございません。webcam(3);というエラーが出てしまいました。webカメラ用のツールボックスはインストールしてあるのですが....どのようにしたら良いでしょうか。別途の質問となってしまいますが、https://jp.mathworks.com/help/vision/ref/objectdetectortrainingdata.htmlサンプルデータをテストする上の行までで、学習を行っていると思いますが、毎回学習させると時間がかかると思うので、プログラム下部の推論だけを行いたいと思うのですが、可能なのでしょうか。恐縮ですが、教えて頂けると大変助かります。2019こんにちは、まずはwebカメラとうまく連携しているのか知りたいです。webカメラをPCに接続したうえで、cam=webcamと試してもらえますか。camという変数には、PCのカメラとwebカメラの情報が格納されていると思います。1点の質問に関しても、その状況で使える学習器を別で(事前に)作ってしまって、その学習器をどんどん新たな画像にあてはめていくイメージ、と認識しているのですが、そうであれば可能と思います。Clipboardご返信ありがとうございます。supported.が出てしまいました。ちなみにですが、webcamlistで表示させた際にはリストの方に表示されましたが、使おうとすると使えません...(関係があるのかが初心者なためよく分からないのですが、.bmp形式の画像をカメラから読込みたいです...)どのようにしたら良いでしょうか。Clipboard丁寧に教えていただきありがとうございます。すいません、camlist=webcamlistとして、返した情報を教えてもらえますか?cam=webcam(1)cam2=webcam(2)また、カメラをPCにつないだうえで、上の2つも実行してもらえますか?さらに、お使いのカメラは、MATLABのハードウェアサポートがされていますでしょうか?いろいろ聞いてすいません。Clipboard申し訳ありません。調べてみたんですが、私の知識不足で決定的な解決案が見つかりませんでした。https://jp.mathworks.com/hardware-support/home.html上のURLで、お使いのカメラを見てみたんですが、すぐには見当たらず、サポートしてないからダメなのかと思いました。Toolboxのアプリでプレビューした場合、正常にプレビューできております。」とおっしゃっていたので、一応MATLABでも読めるということなのでしょうか。PCのカメラ画像が読めないのは、カメラ以外に問題があるのかもしれないと思いました。それに関してもsurfaceをお使いのようで、surfaceだと若干webcamの接続が面倒とネットにも書いていたので結局どれが問題なのか私にはわからなかった次第です。https://jp.mathworks.com/matlabcentral/answers/452360-how-to-use-surface-pro-4-camera-in-matlabアプリで読み込んだとき、その操作をコード生成とかできないでしょうか。Clipboard返信ありがとうございます。いえいえ、こちらもなかなか有効打を提案できずすいません。このコードをコマンドに打てば、カメラ画像が表示されるということでしょうか?それだとim=snapshot(vid);とすればいいのではないかと思ったのですがいかがでしょうか。Clipboardご回答ありがとうございます。はい、コマンドウインドウで上記のコードを実行したところ、リアルタイムのカメラ画像が表示されました。アドバイスを頂いたと思うのですが、im=snaphot(vid);はリンクのどちらに入力したら良いでしょうか(初歩的な基礎知識不足で申し訳ございません)。https://jp.mathworks.com/help/vision/ref/objectdetectortrainingdata.htmlまた、snapshotをどこかで定義する必要があると思いますが、そちらについても教えて頂けると助かります。お手数をおかけしますが、宜しくお願い致します。imread('stopSignTest.jpg');のところを、I=snapshot(vid);とすればいいのではないでしょうか。1;と、あらかじめ宣言しておいたら適宜webcameraから画像を読み取れるのではないかと思います。ループにして、連続的に画像を読み取ったり、うまく物体検出するために画像をリサイズ、またはその他の前処理をするなど、いろいろとやることがあるかもしれません。Clipboard非常にご丁寧に教えていただきありがとうございます。お手数をおかけします...また試させて頂きます。Clipboard度々の質問となり申し訳ありません。snapshot(vid);が表示されてしまいました。ファイル名を別のsnapshot.m以外でやったところ、関数として認識されなかったため、snapshot.mにしたところ、このようになってしまいました。snapshotを行ったところパスが表示されていたので、関数自体は認識されているのかと思うのですが.....宜しくお願い致します。<追記>vid(ビデオ)でのinputになるので、調べてみたところ、getsnapshotを用いたところ、画像1枚だけ表示されました。Clipboardこんにちは、教えていただきありがとうございます。snapshotではなかったのですね。Clipboardいえいえ、こちらこそありがとうございます。ある程度連続的には表示されましたが、ビデオをそのまま取り込んだ時のようにスムーズに表示されるではなく、遅延があったので、何か改良が必要だと思いました。ところで、話が戻ってしまい申し訳ないのですが、https://jp.mathworks.com/help/vision/ref/objectdetectortrainingdata.htmlにて、データを学習させ、推論結果の表示を行うと思いますが、この先の学習器作成し、取り入れた画像(カメラから)からどんどん推論を行っていくプロセスを行いたいと思います。その手順のリンクなどが見つからないのですが、ご存知でしょうか。Clipboardpause(.5)これは、各フレーム間で0.5秒まつという意味です。そのため最低0.5秒遅延がうまれます。見やすくするためと思い書いていました。説明不足ですいません。これをなくすか、この秒数を小さくするとよりスムーズになると思います。手順のリンクというのは、ラベリングをして、学習をさせるプロセスも含めてということですよね。推論はこの例の通りdetect関数でできるのでOKと思います。考えないといけないのが、この例のようなACFの検出か、YOLOなどの深層学習ベースの検出をするかですね。わかりやすく、このままACFでやるなら、イメージラベラーでラベリング、そのアプリ上でgroundTrunthファイルが得られるので、あとはこの例に沿ってやればできると思います。Clipboard丁寧にありがとうございます。ご質問の意味がわかりました。acfDetectorとして、同じパスにacfDetectorを保存します。insertObjectAnnotation(I,'rectangle',bboxes,annotation);imshow(I)pause(.01)endとすればよいです。これで、一度作った検出器をロードして、検出のみを実行できます。「に関してはループ内に入れるべきでしょうか。」の件は、外でよいです。Clipboardご回答ありがとうございます。試してみたところ、ロード出来ました。ありがとうございます。getsnapshot(vid);の読込みが、通常の読込みよりも遅く遅延してしまうということが発生しております...なにか有効な手法をご存知でしょうか。Clipboardご返信ありがとうございます。回答の前に、はじめのご質問とは異なってきているので本件は、解決済みとしていただき、あらたに質問をしていただけますか。その方がより詳しい回答者さまが反応してくれたり、今後似た疑問をもつ方が参考にできると思います。Clipboard何度もありがとうございました。