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

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

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

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

Q&A

解決済

1回答

4495閲覧

OpenCV4のopencv4.pcで指定されているPATHにopencvが存在しない.

aqufiz

総合スコア70

OpenCV

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

0グッド

0クリップ

投稿2019/07/15 03:04

編集2019/07/15 05:07

opencv4.pcの中身はこのようになっています.
しかし,opencv4の中身を確認してもopencv2しかありませんでした.
OpenCV3まではinclude内に"opencv","opencv2"が存在したのですが,OpenCV4で何か変更があったのでしょうか?原因を教えていただきたいです.

# Package Information for pkg-config prefix=/usr/local/Cellar/opencv/4.1.0_2 exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir_old=${prefix}/include/opencv4/opencv includedir_new=${prefix}/include/opencv4 Name: OpenCV Description: Open Source Computer Vision Library Version: 4.1.0 Libs: -L${exec_prefix}/lib -lopencv_gapi -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_sfm -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core Libs.private: Cflags: -I${includedir_old} -I${includedir_new}

追記

コンパイルしたプログラム

c++

1#include <opencv2/opencv.hpp> 2 3using namespace cv; 4 5int main(int arg,char** argv){ 6 Mat img = imread(argv[1], -1); 7 if(img.empty()){ 8 return -1; 9 } 10 namedWindow("Example2-1",WINDOW_AUTOSIZE); 11 imshow("Example2-1",img); 12 waitKey(0); 13 destroyWindow("Example2-1"); 14 return 0; 15} 16

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

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

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

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

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

guest

回答1

0

ベストアンサー

OpenCV3まではinclude内に"opencv","opencv2"が存在したのですが,OpenCV4で何か変更があったのでしょうか?原因を教えていただきたいです.

OpenCV 4 から下位互換性のために残されていた C API はすべて削除されました。

A lot of C API from OpenCV 1.x has been removed.

OpenCV 4.0

投稿2019/07/15 04:43

tiitoi

総合スコア21956

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

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

aqufiz

2019/07/15 05:04

回答ありがとうございます. opencv4.pcの4行目のopencvが存在しないのでopencv2に変えて実行しましたが, Undefined symbols for architecture x86_64と出てきてしまい,opencvの関数が定義されていないことになってしまいました. OpenCV3ではできていたのですが,関数の書き方などもOpenCV4で変更されたのでしょうか. 質問ばかりで申し訳ございません.
tiitoi

2019/07/15 05:26 編集

OpenCV を使ったコードは CMake でビルドすることが推奨されており、そちらを使ったほうがよいと思います。 make など他のビルドシステムで設定を自分で書いてもできないことはないですが、エラーで詰まるようであれば、cmake でビルドしたほうがよいです。
tiitoi

2019/07/15 05:29

> Undefined symbols for architecture x86_64 これはリンク時のエラーのようなので、OpenCV のライブラリへのパスが通っていないとかが原因ではないでしょうか。 https://marycore.jp/prog/xcode/undefined-symbols-for-architecture-x86-64/ すみませんが、自分は OpenCV を使ったコードは cmake でしかビルドしたことがないので、具体的な原因についてはわからないです。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問