树莓派安装opencv
基于树莓派的人脸识别门禁系统

基于树莓派的人脸识别门禁系统一、概述随着科技的飞速发展,智能化、自动化的门禁系统已经逐渐取代传统的门禁方式,成为现代社会安全防范的重要组成部分。
本文旨在介绍一种基于树莓派的人脸识别门禁系统,该系统利用树莓派强大的计算能力和人脸识别技术的精准性,实现了门禁系统的智能化管理,提高了安全性和便利性。
树莓派作为一款功能强大的开源硬件平台,具有体积小、功耗低、易于扩展等特点,非常适合用于构建各种智能系统。
人脸识别技术则通过捕捉和分析人脸特征,实现对个体身份的快速准确识别。
将两者相结合,可以构建出一种高效、可靠的人脸识别门禁系统。
该门禁系统通过摄像头捕捉人脸图像,然后利用人脸识别算法对图像进行处理和分析,提取出人脸特征并与预设的数据库进行比对。
当识别结果匹配成功时,门禁系统自动控制门锁打开,允许人员通行;当识别失败时,则拒绝通行并发出警报。
相比传统的门禁方式,基于树莓派的人脸识别门禁系统具有以下优点:人脸识别技术具有非接触性,无需刷卡或输入密码,提高了使用的便利性;系统可以自动记录通行记录,方便后期查询和管理;系统具有较高的安全性,可以有效防止非法入侵和冒充他人身份的情况发生。
基于树莓派的人脸识别门禁系统是一种具有广阔应用前景的智能门禁解决方案,适用于各种需要严格控制人员进出的场所,如办公楼、住宅小区、学校等。
通过不断优化和完善系统功能和性能,相信这种门禁系统将在未来得到更广泛的应用和推广。
1. 介绍门禁系统的重要性及其应用场景门禁系统作为现代安全管理的重要组成部分,具有举足轻重的地位。
随着科技的不断进步和社会安全需求的日益增长,门禁系统已经不再是简单的门锁或钥匙管理,而是演变为一套集身份识别、权限管理、安全监控于一体的智能化系统。
它广泛应用于各种场景,包括但不限于企事业单位、住宅小区、学校、银行、商场等公共场所,为人们的生活和工作提供了极大的便利和安全性保障。
在企事业单位中,门禁系统能够确保只有经过授权的员工才能进入特定的办公区域,有效防止未经授权的闯入和敏感信息的泄露。
【OpenCV】解决树莓派读取4个USB摄像头数据报错问题

解决办法
前提:确保usb供电充足,我们使用了一个带有额外供电的usb hub解决供电问题。 将所有摄像头的初始化操作由
cap = cv2.VideoCapture(0)
改为
cap = cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280.0) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720.0) cap.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter_fourcc('M','J','P','G'))
我们在一个工厂智能化改造中使用了树莓派连接4个usb摄像头进行取图和分析但是在调试过程中发现总是只能读取一个摄像头数据其他摄像头都显示timeout
【 OpenCV】解决树莓派读取 4个 USB摄像头数据报错问题
背景
我们在一个工厂智能化改造中,使用了树莓派连接4个USB摄像头,进行取图和分析,但是在调试过程中,发现总是只能读取一个摄像头数 据,其他摄像头都显示timeout。
问题现象
opencv版本:4.5.5.62 cap_v4l.cpp (1000) tryIoctl VIDEOIO(V4L2:/dev/video2): select() timeout. cap_v4l.cpp (1000) tryIoctl VIDEOIO(V4L2:/dev/video4): select() timeout. cap_v4l.cpp (1000) tryIoctl VIDEOIO(V4L2:/dev/video6): select() timeout.
Ubuntu16.04树莓派Python3+opencv配置教程(分享)

Ubuntu16.04树莓派Python3+opencv配置教程(分享)⽆论是Windows、Linux、还是树莓派。
配置python3的opencv环境都是让⼈头⼤的⼀件事情,尤其是许多⼈⽤pip安装以后,发现opencv虽然装上了,但是却装在了系统原⽣的python2下。
笔者也是经历过很多次失败之后,才安装成功。
本⽂采⽤编译的⽅法配置opencv,每⼀步都有ubuntu和树莓派的分别配置,由于两个系统极其相似(可以说是基本⼀样),所以并在⼀⽂详解。
⼀般来说,只要按照步骤去安装配置,就不会出错。
废话不多说,开始表演!step1:准备⼯作1.ubuntu安装前的准备⼯作:1.1.对Ubuntu apt-get仓库进⾏更新sudo apt-get update && sudo apt-get upgrade1.2.安装必要的python插件及⼀些环境sudo apt-get install python3-setuptools python3-dev -y1.3.安装pipsudo easy_install3 pip1.4.对pip进⾏的更新(⾮必要)pip install --upgrade pip1.5.安装numpy包pip install numpy⼀些通⽤的包:1.6.安装build-essentialsudo apt-get install build-essential -y1.7.其他的⼀些开发⽤包sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y2.树莓派更新树莓派的系统与内核2.1 sudo apt-get update2.2 sudo apt-get upgrade2.3 sudo rpi-update更新内核时可能会报“No space left on device”错误,这是因为储存空间不⾜,最好在更新前检查内存使⽤(使⽤free命令即可)step2:开始安装opencvubuntu/树莓派通⽤1、⾸先,你要找⼀个合适的地⽅存放opencv的安装包,我选择的路径是~/Download/opencv2、进⼊安装路径,并下载安装包cd ~/Download/opencvwget https:///Itseez/opencv/archive/3.0.0.zip3、下载完成后,需要创建编译后⽂件存放的路径:unzip 3.0.0.zip && cd opencv-3.0.0mkdir build && cd build4、接下来⼀步,要⼩⼼⼩⼼按照本地路径来配置,在build⽬录下执⾏如下命令:cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/localPYTHON3_EXECUTABLE=/usr/bin/python3PYTHON_INCLUDE_DIR=/usr/include/python3.4PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.soPYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/dist-packages/numpy/core/include ..注意这⾥所有的是⼀⾏命令,每⼀个路径都要确保存在,不要忘记最后的两个点,⼤多时候树莓派和ubuntu在PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.so这个路径上会有不同,在树莓派中,cd到/usr/lib/⽬录下,找到⼀个⽬录下,存在libpython3.4m.so,(⼤不了⼀个⼀个找),找到了就记住路径替换即可。
OpenCV物体跟踪树莓派视觉小车实现过程学习

OpenCV物体跟踪树莓派视觉⼩车实现过程学习⽬录物体跟踪效果展⽰⼀、初始化⼆、运动控制函数三、舵机⾓度控制四、摄像头&&图像处理1、打开摄像头2、把图像转换为灰度图3、⾼斯滤波(去噪)4、亮度增强5、转换为⼆进制6、闭运算处理7、获取轮廓代码五、获取最⼤轮廓坐标六、运动1、没有识别到轮廓(静⽌)2、向前⾛3、向左转4、向右转代码总代码物体跟踪效果展⽰过程:⼀、初始化def Motor_Init():global L_Motor, R_MotorL_Motor= GPIO.PWM(l_motor,100)R_Motor = GPIO.PWM(r_motor,100)L_Motor.start(0)R_Motor.start(0)def Direction_Init():GPIO.setup(left_back,GPIO.OUT)GPIO.setup(left_front,GPIO.OUT)GPIO.setup(l_motor,GPIO.OUT)GPIO.setup(right_front,GPIO.OUT)GPIO.setup(right_back,GPIO.OUT)GPIO.setup(r_motor,GPIO.OUT)def Servo_Init():global pwm_servopwm_servo=Adafruit_PCA9685.PCA9685()def Init():GPIO.setwarnings(False)GPIO.setmode(GPIO.BCM)Direction_Init()Servo_Init()Motor_Init()⼆、运动控制函数def Front(speed):L_Motor.ChangeDutyCycle(speed)GPIO.output(left_front,1) #left_frontGPIO.output(left_back,0) #left_backR_Motor.ChangeDutyCycle(speed)GPIO.output(right_front,1) #right_frontGPIO.output(right_back,0) #right_backdef Back(speed):L_Motor.ChangeDutyCycle(speed)GPIO.output(left_front,0) #left_frontGPIO.output(left_back,1) #left_backR_Motor.ChangeDutyCycle(speed)GPIO.output(right_front,0) #right_frontGPIO.output(right_back,1) #right_backdef Left(speed):L_Motor.ChangeDutyCycle(speed)GPIO.output(left_front,0) #left_frontGPIO.output(left_back,1) #left_backR_Motor.ChangeDutyCycle(speed)GPIO.output(right_front,1) #right_frontGPIO.output(right_back,0) #right_backdef Right(speed):L_Motor.ChangeDutyCycle(speed)GPIO.output(left_front,1) #left_frontGPIO.output(left_back,0) #left_backR_Motor.ChangeDutyCycle(speed)GPIO.output(right_front,0) #right_frontGPIO.output(right_back,1) #right_backdef Stop():L_Motor.ChangeDutyCycle(0)GPIO.output(left_front,0) #left_frontGPIO.output(left_back,0) #left_backR_Motor.ChangeDutyCycle(0)GPIO.output(right_front,0) #right_frontGPIO.output(right_back,0) #right_back三、舵机⾓度控制def set_servo_angle(channel,angle):angle=4096*((angle*11)+500)/20000pwm_servo.set_pwm_freq(50) #frequency==50Hz (servo) pwm_servo.set_pwm(channel,0,int(angle))set_servo_angle(4, 110) #top servo lengthwise#0:back 180:frontset_servo_angle(5, 90) #bottom servo crosswise#0:left 180:right上⾯的(4):是顶部的舵机(摄像头上下摆动的那个舵机)下⾯的(5):是底部的舵机(摄像头左右摆动的那个舵机)四、摄像头&&图像处理# 1 Image Processimg, contours = Image_Processing()width, height = 160, 120camera = cv2.VideoCapture(0)camera.set(3,width)camera.set(4,height)1、打开摄像头打开摄像头,并设置窗⼝⼤⼩。
树莓派安装OpenCV完整过程

树莓派安装OpenCV完整过程1. 配置并更新树莓派系统sudo raspi-config // 进⼊后打开摄像头、SSHsudo apt-get updatesudo apt-get upgradesudo rpi-update2. 安装OpenCV的相关⼯具sudo apt-get install build-essential cmake git pkg-config3. 安装OpenCV的图像⼯具包sudo apt-get install libjpeg8-devsudo apt-get install libtiff5-devsudo apt-get install libjasper-devsudo apt-get install libpng12-dev4. 安装视频I/O包sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev5.安装gtk2.0和优化函数包sudo apt-get install libgtk2.0-devsudo apt-get install libatlas-base-dev gfortran6. 下载OpenCV源码git clone https:///opencv/opencv.git7. 安装OpenCV// 根据下载的版本⽽定cd opencv-3.2.0// 创建release⽂件夹mkdir release// 进⼊release⽬录下cd release// cmake读⼊所有源⽂件之后,⾃动⽣成makefilecmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local ..// 编译sudo make// 安装sudo make install//更新动态链接库sudo ldconfig8. 解决⽆法打开摄像头硬件问题sudo nano /etc/modules// 进⼊编辑界⾯后,在末尾添加输⼊snd-bcm2835bcm2835-v4l29. 测试⽤例Python代码# -*- coding: utf-8 -*-__author__ = "kyoRan"import cv2cap = cv2.VideoCapture(0) # 打开摄像头print("VideoCapture is opened?", cap.isOpened())while(True):ret, frame = cap.read() # 读取摄像头图像center = (frame.shape[1]//2, frame.shape[0]//2) # 图像中⼼点位置gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 转灰度cv2.circle(gray, center=center, radius=100, color=(0,0,255)) # 画圆cv2.imshow("frame", gray) # 显⽰图⽚if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release() # 释放摄像头cv2.destroyAllWindows() # 关闭所有窗⼝测试结果⽰例ps:测试出现错误可能是摄像头默认未打开,需要去raspi-config使能它,enable它哦。
openVC安装

[翻译]Python 2.7 和Python 3+ 的Op enCV 3.0 安装教程字数3288阅读4356评论11喜欢4这是在PyImageSearch上Adrian Rosebrock写的一篇在安装OpenCV的教程, 感觉写的还蛮详细的, 当然文章里面的操作不只适.用老实说, 我很喜欢用. 对于全世界做的老师, 学生, 程序员来说, Raspberry Pi 可能是最好的工具, 有之一的.这是一块很便宜的开发板, 虽然便宜但不能代表它不能做很多有趣的事. 对于爱好者和车库里的黑客来说,这玩意还是超级赞的. 如果你做项目, 能够在一块很便宜又不失可靠的硬, 是不是很屌? 这玩意儿在研究学术界也是被广泛推崇和应用的.鉴于它这么低廉的价格, 我们完全可以用一批部署一个集群来做究.由于它这些牛逼的特性, 又能在各个领域一显身手, 肯定一得很大一批人的芳心. 难怪我在PyImageSearch上的这篇简明教程: installing OpenCV and Python on your Raspberry Pi 2 and B+, 能一直保持浏览数第一.估计那篇文章好景不长, 我现在这篇文章可能会勇夺桂冠, 跃居榜首.所谓后来者居上嘛.跟着我一步步来操作, ,的区别而已. 这绝逼是一个很刺激的教程, 为啥呢? Open CV ,不过对于.你肯定在PyImageSearch上的某个阴暗的角落里, ,比如: automated home surveillance and security system ,用的是Python + OpenCV + Dropbox + Raspberry Pi 2:Figure 1: 智能家居安防系统看到这些是不是内心激动难耐, 那么跟着我接着干吧.在Raspberry Pi 2 上Python 2.7+ 和Python 3+ 安装OpenCV 3.0下面会详细地介绍如何安装的哦! 不过, 我还是推荐大家用毕竟新出来的, 性能提升了不少, 用来做得很蛋疼.为了让教程简介明了, 我把具体内容大致分为了四个步骤, 大家一步步来:∙步骤一:安装依赖. 不管你是用你都需要用装安装,库等依赖.∙步骤二:编译如果你准备用要做的, 做完之后呢, 你就可以跳过步骤三, 直奔步骤四.∙步骤三:编译同样地, 你准备用, 步骤二是不用做的, 直接从步骤一来到这里.∙步骤四:确认安装成功. 在你安装完成之后, 这一步骤就来确认, 能不能正常地工作.Python 2.7+ 还是Python 3+?在开始正式安装之前, 你需要搞清楚你到底是要安装哪一个版本的.反正两个版本各有利弊吧. 你自己选择一个你看着顺眼的, 这个真没有什么特别的不同. 如果你觉得用着, 你就选择,. 但是如果你平时用, 譬如或者你可能会更倾向于选择至少目前是这样的情况. 这些方面的大部分库和包都是, 譬如: NumPy,Scipy和scikit-learn, 虽然社区里面都在努力地向, 但是有那么一部分还是只能在 .步骤一: 安装包依赖下面我们就开始.耗时:9m 5s下面我们安装从源码构建:耗时: 43s加载不同格式图片的工具包:耗时: 27s视频流I/O 包耗时: 26sGTK, 给图形界面操作用的耗时: 2m 20s安装下面的包可以在耗时: 46s现在, 我们的准备工作完成了. 接下来我们从, 然后切换到新的版本耗时: 8m 34s要完整地安装, 最好把opencv_contrib也拉下来耗时:1m 7s啊, 不对, 又错了, 是某种.继续步骤二, 你会得到, 直接跳到步骤三就是.随便你自己怎么选, 不过你得考虑清楚, 请谨慎选择, 没有机会给你反悔的哦.步骤二: 在Python 2.7+ 下编译Open CV安装编译所需要的头文件, 也就是Python 的开发包啦耗时: 1m 20s安装耗时: 33s, 我们利用virtualenv和virtualenvwrapper来给我们不同的.不过现在安装和virtualenvwrapper不是必须要安装的.然而,, 我推荐你们去安装使用, 后面我会假设你们都已经安装使用它了.用耗时: 17s接下来, 我们需要设置环境变量, 随便用一个你们自己喜欢的编辑器,如果不存在就新建一个, 然后把下面的几行添加到文件末尾, 下一步就是要来加载它. 你需要重新打开一个终端, 或者简单地使用现在我们要开创建一个做随便命名) 了耗时: 19s如果你在之后需要访问你的虚拟环境, 特别是你登出或者重启你的机器之后, 你可能需要,容, , 做一个全局设置, 并不推荐这么做.) 然后用.之后你的.继续, 我们其实只依赖一个请确保在你的虚拟环境耗时: 13m 17s在我们用了,删掉, 然后重新安装哈哈, 完成啦, 你现在应该在你的虚拟环境.试试和我下面是不是一样的.Figure 2: 完成numpy的安装注意:这些操作可能会非常的耗时间, 可能在完成一项安装之后, 关机或这登出了, 在你下次继续的时候一定记得要切换至你的虚拟环境, 不然你的继续安装和你之前的操作不是在同一个环境下,或导致你后面的操作出现错误.我在说一句, 在你继续下一个命令前, 千万千万要确保你是在你的虚拟环境下, 我的本例子中是现在你可以用CMake大概会花30s, 在它完成之后, 当然你得保证它没有报错, 你要检查下1输出的内容,特别是.这里我们国内用户很可能会报错, 原因是ippicv linux这个包下载速度很慢, 导致下载未完成连接超时.解决的办法是手动去下载这个文件: ippicv linux .Figure 3: CMake正常输出这里的关键点就是要确保, CMake已经正确地关联其次, 要注意下, 这个文件夹是存放.从那我们可以看到我们的下面我们就可以正式地编译耗时: 65m 33s编译没有错误, 现在就可以安装了现在, 下面只需要搞清楚它在哪.还记得上面我提到的?看下这个文件夹,Figure 4: Open CV 3.0 已经成功地安装.的虚拟环境完啦, 你现在已经把, 到步骤四去, 检查一下是不是安装正确.步骤三: 在Python 3+ 下编译Open CV待续...步骤四: 确认Open CV 3.0 安装成功在我们结束教程之前, 你最好还是检查一下是不是安装正确了. 打开一个终端, 进入你的虚拟环境, 进去导入新建文件test.py, 输入一下内容就OK 啦!Figure 5: 输出成功总结这篇文章中, . 我安装时每一个步骤话的时间也给出以便大家参考.只要记住一点, 就是在你重启或者重登陆到机器中时, 你得先用.一开始, 发现这篇文章挺使用的,也还蛮简单, 就想着话点时间翻译下, 以便查阅. 文章看着很长其实废话很多, 有用的也就那些代码段, 如果大家只是为了快速安装,直接复制代码就好了. 不过, 老外的教程都是这样, 讲的很细, 有些重点还不止一遍两遍的提醒.这足以见得他们做事蛮认真负责的. 这文章简直太详细了, 到目前已经花了将近5个小时了, 所以我把第三步骤暂时跳过了, 等后面有时间再补上.。
基于嵌入式树莓派和OpenCV的运动检测与跟踪系统

基于嵌入式树莓派和OpenCV的运动检测与跟踪系统一、本文概述随着科技的不断进步,嵌入式系统和计算机视觉技术在日常生活、工业生产、安全防护等领域中的应用日益广泛。
其中,基于嵌入式树莓派和OpenCV的运动检测与跟踪系统因其高效、灵活、成本效益高等特点,受到了广大研究者和实践者的青睐。
本文旨在探讨如何利用树莓派这一强大的微型计算机和OpenCV这一开源的计算机视觉库,实现运动目标的检测与跟踪,并为此提供一个完整的系统设计、实现与测试方案。
本文首先将对嵌入式树莓派和OpenCV进行简要介绍,阐述它们在运动检测与跟踪领域的应用优势和潜力。
接着,将详细介绍系统的硬件组成和软件架构,包括树莓派的选型、摄像头模块的选择、OpenCV 的安装与配置等。
在此基础上,本文将重点讨论运动检测与跟踪算法的选择和实现,包括背景建模、目标提取、目标跟踪等关键技术。
本文还将探讨如何优化系统性能,提高检测与跟踪的准确性和实时性。
这包括算法的优化、硬件资源的合理利用、系统功耗的控制等方面。
本文将通过实际测试案例,验证所设计系统的可行性和有效性,为相关研究和应用提供参考和借鉴。
通过本文的阅读,读者可以全面了解基于嵌入式树莓派和OpenCV 的运动检测与跟踪系统的原理、设计、实现和优化过程,为相关领域的研究和实践提供有益的启示和帮助。
二、系统总体设计基于嵌入式树莓派和OpenCV的运动检测与跟踪系统,主要由硬件层、操作系统层、算法层和应用层四个层次构成。
硬件层以树莓派为核心,辅以摄像头、存储设备等;操作系统层选用基于Linux的树莓派操作系统,提供稳定、高效的运行环境;算法层利用OpenCV库实现运动检测与跟踪的核心算法;应用层则负责与用户交互,展示检测结果并提供控制接口。
树莓派作为本系统的核心硬件,选用具备足够计算能力和IO接口的型号,如Raspberry Pi 4。
摄像头选择高清、低延迟的网络摄像头,以便捕捉清晰、流畅的视频流。
树莓pico win编译

树莓pico win编译
1. 安装软件:安装Clion、gcc-arm-none-eabi、pico-example、pico-sdk和cmake等软件。
2. 配置环境:将安装的软件路径添加到系统环境变量中,并将pico-sdk文件夹添加到环境变量中。
3. 打开Clion:打开Clion,在文件夹中找到pico-examples文件夹。
4. 编译项目:在pico-examples文件夹下,创建一个新文件夹build,并在该文件夹下进入命令行。
在命令行中输入cmake -G"MinGW Makefiles"..,然后按Enter键。
5. 生成Makefile文件:完成上述步骤后,系统将自动生成Makefile文件。
6. 编译项目:在命令行中输入cmake --build .命令,按Enter键后,Clion会自动开始编译项目,生成uf2文件。
7. 测试程序:将生成的uf2文件通过树莓派Pico的烧录器烧录到设备上,然后在设备上测试程序是否正常工作。
需要注意的是,树莓派Pico的Win编译需要先安装好相关软件,并按照以上步骤进行操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
树莓派学习笔记——apt方式安装opencv
0.前言
本文介绍如何在树莓派中通过apt方式安装opencv,并通过一个简单的例子说明如何使用opencv。
相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。
通过apt方式安装没有自动生成opencv.pc文件,所以在编写makefile文件时不能直接使用pkg-config工具,而需要逐个指定opencv_core、opencv_imgproc 等动态链接库。
【相关博文】
【树莓派学习笔记——源代码方式安装opencv】
更多内容请参考——【树莓派学习笔记——索引博文】
1.安装opencv
开始之前进行必要的更新工作。
sudo apt-get update
安装opencv。
sudo apt-get install libcv-dev
安装过程比较缓慢,请耐心等待。
安装完成之后,opencv相关的头文件被安装到/usr/lib目录中,该目录是linux默认头文件查找路径。
opencv的相关动态链接库被安装到/usr/lib目录中。
这些动态链接库包括:
【opencv_calib3d】——相机校准和三维重建
【opencv_core】——核心模块,绘图和其他辅助功能
【opencv_features2d】——二维特征检测
【opencv_flann】——快速最邻近搜索
【opencv_highgui】——GUI用户界面
【opencv_imgproc】——图像处理
【opencv_legacy】——废弃部分
【opencv_ml】——机器学习模块
【opencv_objdetect】——目标检测模块
【opencv_ocl】——运用OpenCL加速的计算机视觉组件模块【opencv_video】——视频分析组件
2.简单示例
【C++】——通过代码载入一张图片,通过opencv把彩色图片转换为黑白图片,并把原图和转换后的图片输出到屏幕中。
[cpp]view plaincopy
1.#include <opencv2/core/core.hpp>
2.#include <opencv2/imgproc/imgproc.hpp>
3.#include <opencv2/highgui/highgui.hpp>
4.#include <iostream>
ing namespace cv;
ing namespace std;
7.int main (int argc, char **argv)
8.{
9. Mat image, image_gray;
10. image = imread(argv[1], CV_LOAD_IMAGE_COLOR );
11.if (argc != 2 || !image.data) {
12. cout << "No image data\n";
13.return -1;
14. }
15.
16. cvtColor(image, image_gray, CV_RGB2GRAY);
17. namedWindow("image", CV_WINDOW_AUTOSIZE);
18. namedWindow("image gray", CV_WINDOW_AUTOSIZE);
19.
20. imshow("image", image);
21. imshow("image gray", image_gray);
22.
23. waitKey(0);
24.return 0;
25.}
【makefile】
[plain]view plaincopy
= g++
2.# 可执行文件
3.TARGET = test
4.# C文件
5.SRCS = test.cpp
6.# 目标文件
7.OBJS = $(SRCS:.cpp=.o)
8.# 库文件
9.DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
10.# 链接为可执行文件
11.$(TARGET):$(OBJS)
12. $(CC) -o $@ $^ $(DLIBS)
13.clean:
14. rm -rf $(TARGET) $(OBJS)
15.# 编译规则 $@代表目标文件 $< 代表第一个依赖文件
16.%.o:%.cpp
17. $(CC) -o $@ -c $<
【简单说明】
DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
示例中使用了opencv中的核心部分、图像处理部分和GUI部分,所以依次增加opencv_core、opencv_imgproc、opencv_highgui动态链接库。
该部分和和【树莓派学习笔记——源代码方式安装opencv】中的示例稍
有不同,前文中的makefile使用LIBS = $(shell pkg-config --libs opencv)引入所有的opencv动态链接库,此处手动指定相关库按需链接。
【编译】
make
【执行】
./test raspberry.jpg
可执行文件test和raspberry.jpg应在同一个目录中。
运行结果如下图所示,说明opencv得以正常运行。
图1 运行结果
3.总结
通过源代码方式安装opencv更加方便,安装时间也更短。