热搜关键词: 电路基础ADC数字信号处理封装库PLC

pdf

OpenCV入门教程

  • 1星
  • 2015-01-25
  • 1.88MB
  • 需要1积分
  • 0次下载
标签: OpenCV

OpenCV

OpenCVOpenCV入门教程

OpenCV 入门教程
½者:于仕琪
shiqi.yu@szu.edu.cn
http://www.opencv.org.cn
2012 年 8 月
版权所有© 于仕琪
本½品采用知识共享½名-相同方式共享 4.0 ½际许可协议进行许可。
1
前 言
OpenCV
是一个广受欢迎的开源计算机视觉库,它提供了很多½数,实现了
很多计算机视觉算法,算法从最基本的滤波到高级的物½检测皆有涵盖。很多
初学者希望快速掌握
OpenCV
的½用方法,½往往会遇到各种各样的困难。其
实仔细分析,造成这些困难的原因有两类:第一类是
C/C++编程基础不过关;
第二类是不了解算法原理。解决这些困难无非提升编程½力,以及提升理论基
础知识。提升编程½力需要多练习编程,提升理论知识需要系统学习《数字图
像处理》《计算机视觉》和《模式识别》等课程,所有这些½不½一蹴而就,
需要耐下心来认真修炼。
同时我们也需要认识到
OpenCV
只是一个算法库,½为我们搭建计算机视觉
应用提供“砖头”
。我们并不需要完全精通了算法原理之后才去½用
OpenCV,
只要了解了“砖头”的功½,就可以动手了。在实践中学习才是最高效的学习
方式。本小册子希望为初学者提供引导,½初学者快速了解
OpenCV
的基本数
据结构以及用法。
此外,如您发现有错误之处,欢迎来信指正。
于仕琪
深圳大学
插播广告:欢迎有½力、有激情以及对计算机视觉有兴趣的同学报考我的
研究生。欲了解详情可以访问深圳大学招生½
http://zsb.szu.edu.cn/
或者
给我发 email。
2
目½
1
1.1
1.2
1.3
1.4
1.5
预备知识
............................................................................................... 5
编程的流程........................................................................................
5
什么叫编辑........................................................................................
6
什么叫编译........................................................................................
6
什么叫连接........................................................................................
7
什么叫运行........................................................................................
7
1.6 Visual C++是什么 .................................................................................. 8
1.7
1.8
头文件................................................................................................
9
库文件..............................................................................................
10
1.9 OpenCV
是什么
................................................................................... 11
1.10
1.11
什么是½令行参数..........................................................................
12
常见编译错误..................................................................................
13
1.11.1
找不到头文件
......................................................................... 13
1.11.2
拼写错误
................................................................................. 14
1.12
1.13
2
常见链接错误..................................................................................
15
运行时错误......................................................................................
17
OpenCV
介绍
................................................................................... 19
2.1 OpenCV
的来源
................................................................................... 19
2.2 OpenCV
的协议
................................................................................... 19
3
3.1
图像的基本操½
................................................................................. 21
图像的表示......................................................................................
21
3.2 Mat
................................................................................................. 23
3.3
创建
Mat
对象
................................................................................. 24
3.3.1
构造½数方法
........................................................................... 24
3.3.2 create()½数创建对象 ............................................................... 25
3.3.3 Matlab
风格的创建对象方法
................................................... 26
3
3.4
3.5
矩阵的基本元素表达......................................................................
26
像素值的读写..................................................................................
27
3.5.1 at()½数 ...................................................................................... 28
3.5.2
½用迭代器
............................................................................... 29
3.5.3
通过数据指针
........................................................................... 30
3.6
选取图像局部区域..........................................................................
32
3.6.1
单行或单列选择
....................................................................... 32
3.6.2
Range
选择多行或多列
....................................................... 33
3.6.3
感兴趣区域
............................................................................... 33
3.6.4
取对角线元素
........................................................................... 34
3.7 Mat
表达式
......................................................................................... 34
3.8 Mat_类 ................................................................................................ 36
3.9 Mat
类的内存管理
............................................................................. 38
3.10
3.11
输出..................................................................................................
40
Mat
IplImage
CvMat
的½换
................................................. 42
3.11.1 Mat
½为
IplImage
CvMat
格式
.......................................... 42
3.11.2 IplImage
CvMat
格式½为
Mat ........................................... 42
4
4.1
数据获取与存储
................................................................................. 44
读写图像文件..................................................................................
44
4.1.1
读图像文件
............................................................................... 44
4.1.2
写图像文件
............................................................................... 45
4.2
读写视频..........................................................................................
47
4.2.1
读视频
....................................................................................... 47
4.2.2
写视频
....................................................................................... 49
4
第1章 预备知识
OpenCV
是一个功½强大的计算机视觉库,要用½它,除了要具有相关的计
算机视觉理论知识外,还需要具有一定的编程½力。本书½者通过对
OpenCV
文论坛中的大量问题观察,发现有很大比例的问题是因为用户对
C/C++语言不熟
练,
导致出错,
或出错后不知如½解决。
如果对
C/C++语言不熟悉,
那½用
OpenCV
时会满头雾水瞎摸索,费心费力。
在这一章中,
将介绍一些编程的基本概念,让读者对编程的流程有一个基本
了解。这样在出现错误时,可以快速确定错误的类型,并知道该如½解决。
1.1
编程的流程
一个编程的基本流程包括编辑、编译和连接三大步骤。其流程图如图
1.1
示。
编辑
编辑
a.cpp
b.cpp
编译
编译
a.obj
b.obj
opencv_core.lib
连接
main.exe
5
展开预览

猜您喜欢

推荐帖子 最新更新时间:2024-11-13 06:43

【树莓派Pico测评】ADC外部基准与板载基准对比
本帖最后由 1nnocent 于 2021-3-30 09:05 编辑 上次使用ADC0和板载基准电压测量了三组外部电压,https://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=1160893&page=1&extra=#pid3051687 这次使用外加基准电压再次使用ADC0测量三组同样的外部电压, 实验之前需要事先将板载
1nnocent DIY/开源硬件专区
[KW41Z]光剑LED板跑马灯实验
今天焊了2块LED板 用KW41Z弄了一个跑马灯程序 开始调试的时候有8个LED显示有问题 怀疑是这回买的74HC595D有问题(这回是在淘宝上花0.11/个买的) 换成以前买74HC595D后正常 便宜没好货这次一共买了40片 再焊几个如果还有问题估计这批芯片的来源肯定有啥问题 要不不能这么便宜 程序比较简单 [C] 纯文本查看 复制代码        ledArray = ~
littleshrimp NXP MCU
PCB布局布线技巧100问(二)
16、在进行高速多层PCB设计时,最应该注意的问题是什么?能否做详细说明问题的解决方案。 答:最应该注意的是你的层的设计,就是信号线、电源线、地、控制线这些你是如何划分在每个层的。一般的原则是模拟信号和模拟信号地至少要保证单独的一层。电源也建议用单独一层。 17、请问具体何时用2层板,4层板,6层板在技术上有没有严格的限制?(除去体积原因)是以CPU的频率为准还是其和外部器件数据交互的频
cb51 PCB设计
参与即有好礼,2014 TI MSP430 技术研讨会火热报名中!
2014 年度 TI MSP430 技术研讨会火热报名中!本次活动覆盖全国 8 大城市,强势推荐 MSP430 今年最热门的极低功耗微控制器 Wolverine 系列产品及相应解决方案。 在此活动期间,每站前 30 名报名者均可获得 TI 精美小礼品一份!提前报名并来到现场的每位来宾均有机会获得一块免费的 MSP430 开发工具。 机不可失,赶快和您的朋友一起来参加 MSP430 技术研讨
EEWORLD社区 微控制器 MCU
分享讨论:如何迅速判断一款国产芯片是真自研 还是 糊弄?
坛子一线工程师怎么看,这种判断方法?从别处看到的   通过看datasheet判断: 1、如果是数据手册只有中文版,100%是自研且只在国内卖,比如stc、电源芯片、驱动芯片等 2、如果是数据手册只有英文版,80%是外购的IP核,数据手册为IP供应商提供的英文文档,他们购买到IP后,设计人员在IP核外围增减下外设和IO端口。 3、如果是数据手册同时拥有中文版本和英文版
nmg 国产芯片交流
感谢 okhxyyo 搜索 感谢 fish001 分享
  数字预失真解说       数字预失真技术目前已经在软件实现上得到了初步的发展。目前一般的预失真技术采用软件架构,使用数字信号处理器采集功放功率值,并分析其变化曲线,形成数据表格,并存储。在以后的发射之前根据存储的表格数据对发射功率进行预校正。该方法在实际工作中由于电磁环境变化、温度变化、功放元器件老化、晶体频率飘移等影响,使得预校正数据和真实校正数据存在较大的偏差,从而
btty038 RF/无线
坛友力荐的文章,必须曝光:如何使用MCU构建智能恒温器 !
第1步——一个有关想法和期望目标的短故事 由TI 系统工程师Britta Ruelander和Bhargavi Nisarga共同撰写 如何开始当TI的超低功耗微控制器(MCU)业务起步时,我刚大学毕业,我发现我对于微控制器的特性和功能有很多疑问。我开始与更多有经验的同事定期讨论,以更好地了解MCU的功能及其典型用法。过段时间后,我意识到我可以分享我的学习经验,因此其他MCU新手可从我收集的信
soso 微控制器 MCU
MSP430 G2553 Launchpad实现电容测量
本帖最后由 fish001 于 2017-12-16 10:54 编辑 一、基本原理对于Source-Free RC电路,其电容放电的特性可以描述为:其中V0是电容的初始电压,t是放电时间,R是串接的电阻阻值,C是电容值,v(t)是t时刻电容上的电压。因此,若已知V0、R、以及t1时刻的电压Vt1,便可求得C:二、如何控制和测量如上图所示,大致步骤为:1)由GPIO通过电阻R给电容C充电至Vc
fish001 微控制器 MCU

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

  • CCTV系统的综合防雷
    1、前端设备的防雷前端设备有室外和室内安装两种情况,安装在室内的设备一般不会遭受直击雷击,但需考虑防止雷电过电压对设备的侵害,而室外的设备则同时需考虑防止直击雷击。前端设备如摄像头应置于接闪器(避雷针或其它接闪导体)有效保护范围之内。当摄像机独立架设时,避雷针最好距摄像机3-4米的距离。如有困难避雷针也可以架设在摄像机的支撑杆上,引下线可直接利用金属杆本身或选用Φ 8的镀锌圆钢。为防止电磁感应,沿
  • PCB布局布线技巧100问(二)
    [color=#333333][font=Arial][size=12px][size=9pt]16[/size][size=9pt]、在进行高速多层[/size][url=http://www.51chaoban.com/Tech/][size=9pt][b]PCB[/b][/size][size=9pt][b]设计[/b][/size][/url][size=9pt]时,最应该注意的问题是什么
  • 参与即有好礼,2014 TI MSP430 技术研讨会火热报名中!
    2014 年度 TI MSP430 技术研讨会火热报名中!本次活动覆盖全国 8 大城市,强势推荐 MSP430 今年最热门的极低功耗微控制器 Wolverine 系列产品及相应解决方案。在此活动期间,每站前 30 名报名者均可获得 TI 精美小礼品一份!提前报名并来到现场的每位来宾均有机会获得一块免费的 MSP430 开发工具。机不可失,赶快和您的朋友一起来参加 MSP430 技术研讨会吧!相信我
  • 感觉ST的推广力度还很不够,像无投苍蝇,没有引导方向
    可能与国内这些企业的商业模式有问题!ST一味说我什么时候出什么什么样的芯片,尽是一些虚无漂渺的东西。技术再好有什么用。都是你们自己吹的。我觉得st在中国做推广应该做如下工作。(1)所有资料中文化。(2)降低开发门槛。如推一些简易廉价开发板,开发工具。它们现在新的产品一上市,一来推芯片就来问你现在做什么项目,量有多少。显得比较实在,这种推广模式一定是死路一条。因为目前现状是,芯片等项目,而不是项目等
  • keil工程配置的问题
    今天刚从CCS开发环境转到KEIL,在工程配置完成之后发现在连接的时候报错,有谁知道这个是为什么呢?
  • 流程图的作用
  • EEWORLD大学堂----Hybrid Memory Cube Technology (上)
  • MSP430F5438 最小系统开发板 PCB 空板
  • 分享讨论:如何迅速判断一款国产芯片是真自研 还是 糊弄?
  • wince下USB_OTG驱动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×