やりたいこと
お世話になっております.
今回はタイトルの通り,CentOS 上にて OpenCV を用いたウィンドウの表示を行いたいと思っています.しかし,以下のエラーが発生しており動作しません.
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /usr/local/src/opencv/modules/highgui/src/window.cpp, line 587 terminate called after throwing an instance of 'cv::Exception' what(): /usr/local/src/opencv/modules/highgui/src/window.cpp:587: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow 中止 (コアダンプ)
エラーメッセージを読むと
0. windows でライブラリをリビルド
0. Ubuntu or Debian の場合はパッケージをインストール(libgtk2.0-dev, pkg-config)
と書かれているのはわかりました.
1の場合,OpenCVをwindowsでリビルドしてCentOSに持ってくるのでしょうか?
また,2 の場合,CentOS ではどうしたらいいのでしょうか?(CentOSではできないのでしょうか?)
以上よろしくお願いいたします.
現状(できていること,試したこと)
- OpenCV 自体のインストール
- gtk2 のインストール(libgtk2.0-dev ではない)
動かしたいプログラム
C++
1#include <opencv2/opencv.hpp> 2#include <opencv2/opencv_lib.hpp> 3#include <opencv2/highgui/highgui.hpp> 4 5int main(void) 6{ 7 cv::Mat src_img; 8 src_img = cv::imread("lenna.jpg", 1); 9 // 画像が読み込まれなかったらプログラム終了 10 if(src_img.empty()) return -1; 11 // 12 // 結果画像表示 13 cv::namedWindow("Image", CV_WINDOW_AUTOSIZE|CV_WINDOW_FREERATIO); 14 cv::imshow("Image", src_img); 15 cv::waitKey(0); 16}
参考サイト
エラーメッセージをググって出てきた中に,以下があり,類似の状況だと思うのですが, OpenCV はソースコードからビルドしたので(yum install では古いバージョンがインストールされてしまうため)解決にはいたりませんでした.
Python3,OpenCVで画面表示をしようとするとエラーが発生する
また,以下のサイトを参考にしプログラムをコンパイルする際のリンクオプションに gtk を指定してみたのですが,そちらは,下記のエラーが発生したため断念しました.
g++: エラー: pkg-config gtk+-2.0 --libs --cflags: そのようなファイルやディレクトリはありません

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/07 18:35
2019/01/07 18:36
2019/01/07 18:39
2019/01/07 18:47
2019/01/07 19:40