UbuntuでOpencv cppコードをコンパイルする

UbuntuでOpencv cppコードをコンパイルする

以下のコードをコンパイル中に..

#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>

#include <iostream>
#include <string>

using namespace cv;

using namespace std;

int main( int argc, char** argv )
{
 string imageName("../Desktop/image.jpeg"); // by default
 if( argc > 1)
 {
 imageName = argv[1];
 }

 Mat image;

 image = imread(imageName.c_str(), IMREAD_COLOR); // Read the file

 if( image.empty() ) // Check for invalid input
 {
 cout << "Could not open or find the image" << std::endl ;
 return -1;
 }

 namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.

 imshow( "Display window", image ); // Show our image inside it.

 waitKey(0); // Wait for a keystroke in the window
 return 0;
}

次のエラーが発生しました。

hello.cpp:2:33: fatal error: opencv2/imgcodecs.hpp: No such file or directory
 #include <opencv2/imgcodecs.hpp>

解決策を提案してください

答え1

sudo apt-file list libopencv-imgcodecs-dev

おそらく最初に「apt-file」をインストールする必要があります:

sudo apt-get install apt-file
sudo apt update

apt-file は正しいパスを表示する場合があります。この場合、次のようになります。

  #include <opencv2/imgcodecs/imgcodecs.hpp>

答え2

を使用してくださいsudo apt install libopencv-dev。開発パッケージがインストールされていない場合は、opencv ヘッダーは存在しません。

関連情報