Ubuntu18.04安装opencv3.4.1+opencv_contrib3.4.1

一、ubuntu18.04安装opencv3.4.1环境配置

(1)由于自己使用的是虚拟机,出现了很多问题,所以出现了很多问题,因此,记录整个安装过程。

(2)首先在github上下载源文件解压.

opencv下载 .
opencv_contrib下载.

(3)打开终端,依次执行

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 apt-get install libgtk2.0-dev pkg-config #防止后面报错
##第三条命令在ubuntu20.04下安装错误

二使用cmake-gui编译文件

(1)自动编译会报一些错,这里选择手动编译

sudo apt-get install cmake
sudo  apt-get install cmake-qt-gui
sudo cmake-gui

创建一个build文件作为存放编译后的文件,这里我们在opencv3.4.1文件夹内创建build.然后手动编译
注意事项:
OPENCV_EXTRA_MODULES_PATH:选择自己的opencv_contrib中的module
勾选BULID_opencv_world
CMAKE_BULID_TYPE :填写RELEASE
在这里插入图片描述
先开始configure,然后修改了,再configure一次,最后再generate,就完成了build文件,在整个build过程中,可能会存在缺失文件。

cd opencv3.4.1/build
sudo make
sudo make install
sudo vim /etc/ld.so.conf.d/opencv.conf
添加: /usr/local/lib 
sudo ldconfig  #使其保存生效
sudo vim /etc/bash.bashrc

在文件末尾添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存退出,刷新一次bashrc

source /etc/bash.bashrc

三、测试是否安装成功

进入opencv/samples/cpp/example_cmake目录下

cmake .
make
./opencv_example

运行结果:Hello OpenCV

四 、安装过程中常见问题

1、ubuntu 常见问题系列:E:Could not get lock /var/lib/dpkg/lock-frontend - open
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavialable)
E: Unable to acquire the dpkg fronted lock (/var/lib/dpkg/lock-frontend), is another process using it?

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock

2、OpenCV(3.4.1) 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 cvShowImage, file /opt/conda/conda-bld/opencv-suite_1530789967746/work/modules/highgui/src/window.cpp, line 636
Traceback (most recent call last):
File “drawing.py”, line 9, in
cv2.imshow(“Canvas”, canvas)
cv2.error: OpenCV(3.4.1) /opt/conda/conda-bld/opencv-suite_1530789967746/work/modules/highgui/src/window.cpp:636: 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 cvShowImage
解决办法:卸载opencv,然后安装一个两个包,再重新编译

sudo apt-get install libgtk2.0-dev pkg-config

opencv 调用KCF跟随代码

#include <opencv2/opencv.hpp> 
#include <opencv2/video.hpp> 
#include <opencv2/tracking.hpp>
#include <opencv2/tracking/tracker.hpp>
#include <iostream>
using namespace std;
using namespace cv;
void draw_rectangle(int event, int x, int y, int flags, void*);
  Mat firstFrame;
  Point previousPoint, currentPoint;
  Rect2d bbox;
int main(int argc, char *argv[])
{
	cout << 123 << endl;
	//启用摄像头进行跟踪
	VideoCapture capture(0);
	Mat frame;
	capture >> frame;
	//使用事先录好的视频进行检验
	//VideoCapture capture;
	//frame = capture.open("E:\\imagelib\\1.avi"); 
	if (!capture.isOpened())
	{
		printf("can not open ...\n");
		return -1;
	} //获取视频的第一帧,并框选目标 
	capture.read(firstFrame);
	if (!firstFrame.empty())
	{
		namedWindow("output", WINDOW_AUTOSIZE);
		imshow("output", firstFrame);
		setMouseCallback("output", draw_rectangle, 0);
		waitKey();
	}

	//使用不同跟踪算法进行跟踪 
	//Ptr<TrackerMIL> tracker= TrackerMIL::create(); 
	// Ptr<TrackerTLD> tracker= TrackerTLD::create();									   
	  Ptr<TrackerKCF> tracker = TrackerKCF::create();
	//Ptr<TrackerMedianFlow> tracker = TrackerMedianFlow::create();										  
	//Ptr<TrackerBoosting> tracker= TrackerBoosting::create(); 

	capture.read(frame);
	tracker->init(frame, bbox);
	namedWindow("output", WINDOW_AUTOSIZE);
	while (capture.read(frame))
	{
		tracker->update(frame, bbox);
		rectangle(frame, bbox, Scalar(255, 0, 0), 2, 1);
		imshow("output", frame);
		if (waitKey(20) == 'q') return 0;
	}
	capture.release();
	destroyWindow("output"); return 0;
} //框选目标 
void draw_rectangle(int event, int x, int y, int flags, void*)
{
	if (event == EVENT_LBUTTONDOWN) { previousPoint = Point(x, y); }
	else if (event == EVENT_MOUSEMOVE && (flags&EVENT_FLAG_LBUTTON))
	{
		Mat tmp; firstFrame.copyTo(tmp);
		currentPoint = Point(x, y);
		rectangle(tmp, previousPoint, currentPoint, Scalar(0, 255, 0, 0), 1, 8, 0);
		imshow("output", tmp);
	}
	else if (event == EVENT_LBUTTONUP)
	{
		bbox.x = previousPoint.x;
		bbox.y = previousPoint.y;
		bbox.width = abs(previousPoint.x - currentPoint.x);
		bbox.height = abs(previousPoint.y - currentPoint.y);
	}
	else if (event == EVENT_RBUTTONUP) {
		destroyWindow("output");
	}

}

编译命令

g++ test.cpp -o test `pkg-config --cflags --libs opencv`
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Ubuntu 18.04上安装OpenCV 3.4.1,您可以按照以下步骤进行操作: 1. 首先,您需要将OpenCV的库添加到系统路径中,这样系统才能找到它们。您可以使用以下命令打开配置文件: ``` sudo gedit /etc/ld.so.conf.d/opencv.conf ``` 在打开的文件中,添加OpenCV库的路径,保存并关闭文件。 2. 接下来,您需要从OpenCV官网(http://opencv.org)下载OpenCV 3.4.1的源代码,并解压缩到您选择的目录中。 3. 进入解压后的文件夹,并执行以下命令来安装OpenCV的依赖库: ``` sudo apt-get update sudo apt-get install build-essential cmake sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev ``` 这些命令将帮助您安装OpenCV所需的基本依赖库。 4. 在安装依赖库之后,执行以下命令来配置OpenCV: ``` cd <解压后的OpenCV文件夹> mkdir build cd build cmake .. ``` 这将在build文件夹中生成Makefile以用于编译OpenCV。 5. 最后,您可以使用以下命令编译和安装OpenCV: ``` make -j4 sudo make install ``` 这将编译OpenCV并将其安装到系统中。 完成以上步骤后,您应该已经成功在Ubuntu 18.04上安装OpenCV 3.4.1。请确保按照步骤正确执行,并根据需要进行适当的调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Unbuntu18.04 安装并配置OpenCV3.4.1](https://blog.csdn.net/weixin_44436677/article/details/105586820)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值