树莓派+Opencv(一)图像处理

1、树莓派上安装配置opencv
我们从 opencv官网下载source文件,得到zip压缩包,这里推荐下载最新版本的Opencv,这里下载的是3.4.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\然后下载OpenCV3.2.0和OpenCV_contrib-3.2.0,下载需要等待一段时间

之后输入:

unzip opencv-3.4.3.zip #解压文件
cd opencv-3.4.3 #进入文件夹
mkdir build #创建编译文件夹
cd build #进入
camke .. 
sudo make -j1

-j 是使用多少线程进行编译,在Ubuntu虚拟机上由于我设设置的性能较好,可以使用-j8进行编译,也就是8线程,而在树莓派上则是使用的单线程编译,速度会慢很多,但是保证不会死机,一开始使用-j4时到99%时就死机了。如果-j后不加数字,则默认不限制线程编译

在这里插入图片描述

编译完成后输入:

sudo make install #执行安装

只要过一会就安装完成了。

2、编写Opencv代码
代码如下:

#include <iostream>
#include <opencv2/core/core.hpp> 
#include <opencv2/highgui/highgui.hpp> 
#include <opencv2/opencv.hpp> 
using namespace std; 
using namespace cv; 
void fun2(Mat); 
int main() 
{ 
	Mat img = imread("orgin.png");//引入源图片文件 
	if (img.empty()) 
	{ 
		return -1;//若没有图片文件,则为退出 
	} 
	fun2(img);//将源图片文件传入
	fun2() namedWindow("orgin");//新建窗口 
	imshow("orgin",img);//在orgin窗口下显示img 
	namedWindow("new"); 
	waitKey(0); 
} 
void fun2(Mat img) 
{ 
	Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));//图像处理的主要函数,函数的参数第一个为选择的样式,这里我选择的是MORPH_RECT样式,大小设置为15 
	Mat dstimg; erode(img, dstimg, element);//将源文件进行处理,生成新的图像文件 
	imshow("new", dstimg); 
	imwrite("new.jpg", dstimg);//将处理后的新图像文件保存为new.jpg 
}

新建一个文件夹,之后将图像文件和cpp文件放入在同一文件夹内。

3、运行代码
在树莓派上运行Opencv的代码有点繁琐,首先需要安装cmake gui,使用图形界面会比较方便些,这里在终端直接输入:

sudo apt-get cmake-gui

进行安装。我们开始运行代码。在刚刚的文件夹里新建一个txt文件,这里推荐使用vim,当然也可以使用其他的文本编辑器,取名为CmakeLists.txt。CmakeLists的内容可以到Opencv的安装目录中找到Opencv官方的例子中直接复制过来就可以,不过需要改几个地方。

# cmake needs this line
cmake_minimum_required(VERSION 2.8)

# Define project name
project(opencv_example_project)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)

# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

if(CMAKE_VERSION VERSION_LESS "2.8.11")
  # Add OpenCV headers location to your include paths
  include_directories(${OpenCV_INCLUDE_DIRS})
endif()

# Declare the executable target built from your sources
add_executable(opencv_example opencvtest.cpp)

# Link your application with OpenCV libraries
target_link_libraries(opencv_example ${OpenCV_LIBS})

首先是为你的Opencv项目取名,当然如果不想改的话官方给的实例里已经给你取好了,其次就是将add_executable中的cpp文件改成自己写的代码的文件名,这样才可以知道编译的是哪个文件。

接下来就是使用cmake-gui编译了。打开终端,输入:

cmake-gui

打开cmake-gui后看到界面,源代码处我们选择刚刚创建的文件夹,二进制文件一样也选择刚刚创建的文件夹,点击Add Entry,输入Opencv的安装位置,选择build文件夹,如图:
在这里插入图片描述

接着分别点击Configure和Generate,显示Configure Done和Generate Done就说明成功了。

回到终端,cd进入刚刚的文件夹,输入:

ls #查看生成的可执行文件的名称

接着输入:

./opencv_example

运行。运行结果如下:
在这里插入图片描述
个人博客:naohmurderer.tk(不定时分享小技术和音乐)

相关推荐
1. 配置并更新树莓派系统 1,sudo raspi-config // 进入后打开摄像头、SSH 2,sudo apt-get update 3,sudo apt-get upgrade 4,sudo rpi-update 2. 安装OpenCV的相关工具 sudo apt-get install build-essential cmake git pkg-config 3. 安装OpenCV的图像工具包 1,sudo apt-get install libjpeg8-dev 2,sudo apt-get install libtiff5-dev 3,sudo apt-get install libjasper-dev 4,sudo apt-get install libpng12-dev 4. 安装视频I/O包 sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev 5.安装gtk2.0和优化函数包 1,sudo apt-get install libgtk2.0-dev 2,sudo apt-get install libatlas-base-dev gfortran 6. 下载OpenCV源码 git clone https://github.com/opencv/opencv.git 这里我使用迅雷下载 zip 文件 用 unzip 命令解压 git clone https://github.com/opencv/opencv-4.1.0.git ''' opencv建议安装3.3及以后版本吧,对以后想要深度学习,神经网络都很方便 要注意的点是定要先安装CUDA后安装opencv,否则不能使用GPU,很麻烦 先安装下依赖吧,很多,还是全点好,要比到时候报错好很多     sudo apt-get install --assume-yes libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip       sudo apt-get install build-essential cmake git       sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip 依赖安装好后就可以去opencv官网,下载opencv3.3了 https://opencv.org/opencv-

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

naohmurderer

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值