【树莓派学习笔记】四、OpenCV的安装与卸载

目录

  • 安装
    • 修改host以连接上Github
      • 测试IP
      • 修改树莓派的hosts
    • 安装各种依赖包
    • 安装OpenCV
      • 只安装核心模块
      • 安装核心模块和opencv_contrib
  • C++ Opencv 测试
    • 编写测试源码
    • 编译
    • 测试
  • 卸载

平台:树莓派3B
版本: 2021-05-07-raspios-buster-armhf


安装

修改host以连接上Github

测试IP

使用这个网站测试各个IP的延迟
在这里插入图片描述
先在自己电脑上测试
修改hosts文件。Windows 10一般在C:\Windows\System32\drivers\etc\hosts
在里面加上

52.78.231.108        github.com
185.199.108.153     assets-cdn.github.com
185.199.109.153     assets-cdn.github.com
185.199.110.153     assets-cdn.github.com
185.199.111.153     assets-cdn.github.com
199.232.69.194      github.global.ssl.fastly.net

github.com的IP选择网站上测得的低延迟IP。
在这里插入图片描述
cmd / Powershell中使用命令ipconfig /flushdns清除系统DNS缓存
Win+R键运行cmd
在这里插入图片描述
在这里插入图片描述
或随便在一个地方按住shift+右键选择在此处打开Powershell 窗口
在这里插入图片描述
在这里插入图片描述
打开Github官网测试能否成功连接上
在这里插入图片描述

修改树莓派的hosts

sudo nano /etc/hosts

将刚刚的内容复制进去
在这里插入图片描述
Ctrl+O 回车保存
Ctrl+X退出后reboot -i重启

安装各种依赖包

// 安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config // 安装jpeg格式图像工具包
sudo apt-get install libjpeg8-dev // 安装tif格式图像工具包
sudo apt-get install libtiff5-dev // 安装JPEG-2000图像工具包
sudo apt-get install libjasper-dev // 安装png图像工具包
sudo apt-get install libpng12-dev//安装视频I/O包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev//安装gtk2.0
sudo apt-get install libgtk2.0-dev//优化函数包
sudo apt-get install libatlas-base-dev gfortran

安装OpenCV

我选择的是Installation in Linux里官方介绍的
Quick start方法

只安装核心模块

依次执行下列命令

# Install minimal prerequisites (Ubuntu 18.04 as reference)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
unzip opencv.zip
# Create build directory
mkdir -p build && cd build
# Configure
cmake  ../opencv-master
# Build
cmake --build .

安装核心模块和opencv_contrib

依次执行下列命令

# Install minimal prerequisites (Ubuntu 18.04 as reference)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
unzip opencv.zip
unzip opencv_contrib.zip
# Create build directory and switch into it
mkdir -p build && cd build
# Configure
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master
# Build
cmake --build .

cmake --build .的‘.’不要打漏了,这一步编译巨慢无比。
编译完成后在build文件夹内使用如下命令安装。

# 安装
sudo make install
# 更新动态链接库
sudo ldconfig

测试是否安装成功
打开python

python3

在这里插入图片描述
依次输入

import cv2
cv2

能正常导入不报错即可
在这里插入图片描述

C++ Opencv 测试

编写测试源码

在合适的地方编写源码

nano main.cpp
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <iostream>using namespace cv;
using namespace std;int main(int argc, char * argv[])
{Mat src;src = imread(argv[1], 1);if(argc != 2 || !src.data){return -1;}namedWindow("imshow image", CV_WINDOW_AUTOSIZE);imshow("imshow image", src);waitKey(0);return 0;
}

在这里插入图片描述

编译

相同的目录下编写CMakeLists.txt文件

nano CMakeLists.txt
project(main)
set(OpenCV_DIR "/usr/local/include/opencv4")
find_package( OpenCV REQUIRED )
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})

在这里插入图片描述
其中/usr/local/include/opencv4为安装opencv后库的路径
不同的版本可能不同
在这里插入图片描述
使用如下命令编译

cmake . && make

在这里插入图片描述

测试

4.jpg 为你要打开的图片

./main 4.jpg

在这里插入图片描述

卸载

回到当初安装opencv的build目录,进入该build目录执行卸载操作,若build目录已被删除,则以当时的配置再次编译出来一个即可

sudo make uninstall

删除相关文件夹

find /usr -name "*opencv*" | xargs sudo rm -rf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

今天在使用mysql时&#xff0c;又遇到了如博文标题所示的问题&#xff0c;以前针对该问题未进行记录&#xff0c;今天特意进行说明存档。 该问题是由键值字段长度过长导致。mysql支持数据库表单一键值的最大长度不能超过767字节&#xff0c;超出这个长度即报错&#xf…

转载:用大白话聊聊分布式系统

转载&#xff1a;http://blog.csdn.net/zhousenshan/article/details/71304922?locationNum10&fps1转载于:https://www.cnblogs.com/wdh1995/p/7067985.html

IE 弹出框处理经验

//各屏幕弹出窗样式 // 1366*768var style_1366x768 "dialogWidth:950px;dialogHeight:650px;help:no;center:yes;status:no;resizable:no;location:yes;"; //弹出窗口示例代码function showDialog(url,title,style) { window.showModalDialog(url, title, style…

第9章:图像梯度

第9章&#xff1a;图像梯度one. Sobel理论基础1. 计算水平方向偏导数的近似值2. 计算垂直方向偏导数的近似值two. Sobel算子及函数的使用:1. 函数语法&#xff1a;2. 对像素取绝对值&#xff1a;3. 方向&#xff1a;three. Scharr 算子及函数使用:1. 函数语法&#xff1a;2. 实…

FreeBSD9.1安装Gnome2桌面

1. #pkg_add -r xorg gnome2 gdm2. #ee /etc/rc.conf  加入hald_enable"YES" dbus_enable"YES gdm_enable"YES" gnome_enable"YES" 3. # /usr/local/etc/rc.d/dbus start # /usr/local/etc/rc.d/hald start4. # ee /etc/fstab 加入pro…

【树莓派学习笔记】五、处理、自动重命名并另存为图片

目录编写源码编译测试平台&#xff1a;树莓派3B 版本&#xff1a; 2021-05-07-raspios-buster-armhf 编写源码 所用源码修改自【机器视觉学习笔记】最近邻插值实现图片任意角度旋转&#xff08;C&#xff09; 在合适的地方编写源码 nano main.cpp#include <opencv2/openc…

【bzoj3744】Gty的妹子序列 分块+树状数组+主席树

题目描述 我早已习惯你不在身边&#xff0c;人间四月天 寂寞断了弦。回望身后蓝天&#xff0c;跟再见说再见……某天,蒟蒻Autumn发现了从 Gty的妹子树(bzoj3720) 上掉落下来了许多妹子,他发现她们排成了一个序列,每个妹子有一个美丽度。Bakser神犇与他打算研究一下这个妹子序列…

Linux系统软件包的管理   3月30日课程

Linux系统软件包的管理一、 rpm工具rpm Redhat Package Manager&#xff0c; 设计理念是开放的&#xff0c;不仅仅是在RedHat平台上&#xff0c;在SUSE上也是可以使用的。rpm包名字构成由-和.分成了若干部分&#xff0c;如abrt-cli-2.0.8-15.el6.centos.i686.rpm&#xff0c;ab…

第10章:Canny图像边缘检测

第10章&#xff1a;Canny图像边缘检测一、Canny边缘检测的基础&#xff1a;1. 应用高斯滤波去除图像噪声&#xff1a;2. 计算梯度3.非极大值抑制4. 应用双阈值确定边缘&#xff1a;二、Canny函数使用&#xff1a;​ Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法。19…

【树莓派学习笔记】六、启用摄像头、实时视频、录像和截图

目录安装摄像头配置使用luvcview平台&#xff1a;树莓派3B 版本&#xff1a; 2021-05-07-raspios-buster-armhf 安装摄像头 配置 sudo raspi-config重启后 cd /dev ls可看到新增了video0设备 使用luvcview 安装 sudo apt-get install luvcview查看摄像设备详细信息 luv…

https 与 http

HTTPS,HTTP over SSL,SSL是解决传输层安全问题的网络协议&#xff0c;其核心是基于公钥密码学理论实现了对服务器身份认证&#xff0c;数据的私密性保护以及对数据完整性的校验等功能。 SSL协议在HTTP请求开始之前增加了握手阶段&#xff0c;SSL/TLS握手———加密的HTTP请求—…

Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解

2019独角兽企业重金招聘Python工程师标准>>> VGA&#xff1a;Video Graphics Array&#xff0c;即&#xff1a;显示绘图矩阵&#xff0c;相当于640480 像素&#xff1b;HVGA&#xff1a;Half-size VGA&#xff0c;即&#xff1a;VGA的一半&#xff0c;分辨率为48032…

敏捷合同-摘自网络

敏捷软件开发实践的文化中存在着一个断层&#xff0c;该断层同样体现在许多敏捷团队中。这个断层就是业务分析人员在敏捷项目中的角色——谁来担任这个角色&#xff1f;它的作用 和价值是什么&#xff1f;它又是如何发生改变的&#xff1f;这种情况的潜台词&#xff08;其实我曾…

第11章:图像金字塔

第11章&#xff1a;图像金字塔一、理论基础&#xff1a;1. 向下采样&#xff1a;2. 向上采样&#xff1a;二、pyrDown函数使用&#xff1a;三、pyrUp函数及使用&#xff1a;四、采样可逆性研究五、拉普拉斯金字塔1. 定义&#xff1a;2. 应用&#xff1a;什么是图像金子塔&#…

【树莓派学习笔记】七、(免费)内网穿透将树莓派作为服务器管理网站

目录nginx安装开机自启动测试查看nginx安装路径查看配置文件路径(测试用)修改index.nginx-debian.html内网穿透免费方案ngrok原版方案下载ngrok连接账户开启内网穿透httpSSH网云穿方案开通隧道下载开启内网穿透开机自启动花生壳方案下载和安装添加内网穿透映射测试平台&#xf…

webapi put 404

windows server 2016 IIS webapi 404 error In IIS select your website and double-click Handler Mappings &#xff08;处理程序映射&#xff09;Find ExtensionlessUrlHandler-ISAPI-4.0_32bit and double-clickIn the dialog that appears, click Request Restrictio…

linux批量远程多服务器FTP并下载文件的脚本

#!/bin/bashtimedate %Y%mdaydate -d -1 days %Y%m%dlocalDir"/DBBackup/GameDB"cd $localDir#ip_game.ini配置ftp服务器的ip,账号&#xff0c;密码等&#xff0c;格式自己定义 #比如&#xff1a;Server1 username userpasswd 1.1.1.1 Dbbackup servername(cat /D…

第12章:图像轮廓

第12章&#xff1a;图像轮廓一、查找并绘制轮廓&#xff1a;1. 查找图像轮廓&#xff1a;2. 绘制图像轮廓&#xff1a;3. 绘制轮廓实例&#xff1a;二、矩特征1. 矩的计算&#xff1a;moments函数2. 计算轮廓面积&#xff1a;contourArea函数3. 计算轮廓长度&#xff1a;arcLen…

【语言处理与Python】2.5WordNet

WordNet是面向语义的英语词典&#xff0c;类似于传统词典&#xff0c;但具有更丰富的结构。NLTK中包括英语WordNet,有很多词和同义词的集合。 意义与同义词 具有相同含义的词是同义词。 #在wordnet中怎样探索这些同义词from nltk.corpus import wordnet as wnWn.synsets(‘moto…

解决ionic切换路由后,不继承tab路由,没有返回按钮问题

参考网站&#xff1a;http://bbs.phonegap100.com/thread-3962-1-1.html .state(tab.user, {url: /user,views: {tab-user: {templateUrl: templates/user/user.html }} }).state(login, {url: /login,templateUrl: templates/user/login.html,controller:Login }) 解决方法 .c…