質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

1957閲覧

OpenCVのカメラ映像取得について

poooon_Zoo

総合スコア0

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/10/28 07:25

前提・実現したいこと

C++、OpenCVを使って、PCにカメラを2台接続し、それぞれから取得した映像をパノラマ合成したいと思っています。

下記サイトなどを参考にコードを作成しました。
https://qiita.com/itoshogo3/items/7a3279668b24008a3761
https://qiita.com/vs4sh/items/4a9ce178f1b2fd26ea30

ビルドは通りましたが、カメラアクセス許可の部分で問題が発生しているようで、実行できません。

Info.plistを作成し、NSCameraUsageDescriptionについては明示しているのですが、
エラーがなくなりません。

解決方法や試した方がいいことがあれば、ご教示いただきたいです。

発生している問題・エラーメッセージ

以下、コンソールに表示されているログです。

OpenCV: not authorized to capture video (status 0), requesting... [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

該当のソースコード

C++

1#include <iostream> 2#include "opencv2/opencv.hpp" 3#include "opencv2/stitching.hpp" 4 5int main(int argc, const char * argv[]) { 6 7 using namespace cv; 8 9 cv::VideoCapture cap1(0); 10 cv::VideoCapture cap2(1); 11 12 //キャプチャサイズの指定 13 Size cap_size(320,240); 14 15 if(!cap1.isOpened())//カメラデバイスが正常にオープンしたか確認. 16 { 17 //読み込みに失敗したときの処理 18 return -1; 19 } 20 if(!cap2.isOpened())//カメラデバイスが正常にオープンしたか確認. 21 { 22 //読み込みに失敗したときの処理 23 return -1; 24 } 25 26 cv::Mat frame1; 27 cv::Mat frame2; 28 29 std::vector<Mat> imgArray; 30 31 //取得したフレームの処理 32 while(cap1.read(frame1) && cap2.read(frame2)){ 33 imgArray.push_back(frame1); 34 imgArray.push_back(frame2); 35 36 Mat pano; 37 Stitcher::Mode mode = Stitcher::PANORAMA; 38 Ptr<cv::Stitcher> stitcher = Stitcher::create(mode); 39 std::cout << "yeeeeeeeeeeee\n"; 40 stitcher->stitch(imgArray, pano); 41 42 cv::imshow("win", pano);//画像を表示. 43 } 44 45 return EXIT_SUCCESS; 46} 47

試したこと

Info.plistを作成し、NSCameraUsageDescriptionについて明示。
イメージ説明

上記plistが当該プログラムにアタッチされていることを確認済み。
イメージ説明

XcodeやMacの再起動も行なってみましたが、解決せずです。

補足情報(FW/ツールのバージョンなど)

macOS 10.14.6
Xcode 11.3.1
OpenCV 4.4.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問