libgtk2.0-dev : 依赖: libgtk2.0-0 (= 2.24.23-0ubuntu1) 但是 2.24.23-0ubuntu1.1 正要被安装
依赖: libpango1.0-dev (>= 1.20) 但是它将不会被安装
依赖: libcairo2-dev (>= 1.6.4-6.1) 但是它将不会被安装
推荐: debhelper 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
是因为系统有更新没有更新
sudo apt-get update
sudo apt-get upgrade
安装依赖项
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
解压
sudo unzip opencv-3.2.0
编译安装
cd opencv-3.2.0
sudo mkdir build
cd build
cmake ..
在此过程中会出现下载 ippicv_linux_20151201.tgz 下载失败 或者 file DOWNLOAD HASH mismatch
ippicv_linux_20151201.tgz 文件复制并替换 opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ 路径下的同名文件;
sudo make
sudo make install
实例演示
创建DisplayImage文件夹
sudo mkdir DisplayImage
sudo vi CMakeLists.txt
sudo vi DisplayImage.cpp
CMakeLists.txt
cmake_minimum_required(VERSION2.8)
project( DisplayImage )
# 寻找OpenCV库
find_package( OpenCV 3.2 REQUIRED )
# 添加头文件
include_directories(${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
# 链接OpenCV库
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <stdio.h>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
std::cout << "usage: DisplayImage <Image_Path>" << std::endl;
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
std::cout << "No image data..." << std::endl;
return -1;
}
namedWindow("Display Image", CV_WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
编译和运行程序
cd build
cmake ..
make
./DisplayImage <path to image>