OpenCV3编程入门--读书笔记

一、OpenCV概述

1、OpenCV全程Open Source Computer Vision Library,即开源计算机视觉库。它是一个跨平台的开源计算机视觉库,可以运行在windows、linux、Mac OS、Android、iOS等操作系统上。OpenCV用C/C++编写,轻量且高效,还支持使用C#、Ch、Ruby等编程语言,同时提供对Python、Ruby、MATLAB等语言的接口。

OpenCV官方主页:http://opencv.org

OpenCV Github主页:http://github.com/Itseez/opencv

OpenCV开发版Wiki主页:http://code.opencv.org

二、HighGUI图形用户界面

1、图像的载入、显示和输出

(1)nameWindow

(2)imshow

(3)imread

(4)imwrite

三、OpenCV数据结构

1、常用数据结构和函数

(1)点:Point,位于core.hpp

(2)颜色:Scalar,位于core.hpp

(3)尺寸:Size,位于core.hpp

(4)矩形:Rect,位于core.hpp

(5)颜色空间转换函数:cvtColor()

原型:void cvtColor(InputArray src,OutputArray dst,int code,int dstCn=0);

例:cvtColor(srcImage,dstImage,COLOR_BGR2HSV);

注:OpenCV默认的图片通道存储顺序是BGR,而不是RGB

2、基本图形的绘制

(1)直线:line

(2)椭圆:ellipse

(3)矩形:rectangle

(4)圆:circle

(5)填充的多边形:fillPoly

时间: 2024-10-16 16:15:30

OpenCV3编程入门--读书笔记的相关文章

OpenCV3编程入门-读书笔记3-滤波

一.领域滤波(卷积) 邻域算子值利用给定像素周围像素的值决定此像素的最终输出.如图左边图像与中间图像卷积得到右边图像.目标图像中绿色的像素由原图像中蓝色标记的像素计算得到. 通用线性邻域滤波是一种常用的邻域算子,输入像素加权得到输出像素: 其中权重核   为"滤波系数".上面的式子可以简记为: 二.线性滤波 1.方框滤波(box Filter) 最简单的线性滤波是移动平均或方框滤波,用 K*K窗口中的像素值平均后输出,核函数为: 其实等价于图像与全部元素值为1的核函数进行卷积再进行尺度

OpenCV3编程入门读书笔记2-core组件

一.颜色空间缩减 1.概念 如果图像是3通道,深度为1个字节,则每个像素有256*256*256种可能值,这么多的可能值会对算法性能造成严重影响.利用颜色空间缩减就能解决这个问题,例如将颜色值0~9取为新值0,10~19取为10,以此类推,这样每个像素有26*26*26种可能值,比上面的可能值要小很多. 2.公式 P_New = ( P_Old / divide ) * divide   (P表示像素值) 3.处理 如果对原图像每个像素都进行上面的公式运算,运算量将非常大.可以将0~255这25

python编程入门读书笔记1

python适合用来做什么呢? 脚本,这些简短的程序自动执行常见的管理任务,如在系统中新增用户.上传文件到网站.不使用浏览器浏览网页等. 网站开发,作为快速创建动态网站的工具,Django.bottle.Zope等python项目深受开发人员欢迎. 文本处理,python在字符串和文本文件处理方面提供了强大的支持,包括正则表达式和unicode. 科学计算,网上有很多卓越的python科学计算库,提供了统计.数学计算和绘图的函数. 教育,鉴于python的简洁实用,学校可以将其作为第一门编程语言

python编程入门读书笔记2

数据结构 python中两大主力数据结构是列表和字典.列表按顺序存储数据,而字典像小型数据库,使用键高效的存储和检索数据. type函数可以检查值或变量的数据类型. 序列是一组按顺序排列的值,python中有3种内置的序列类型:字符串.元组和列表.第一个正索引为0,指向左端.第一个负索引为-1,指向右端.也可使用切片表示法复制子序列,例如s[begin:end]从索引begin复制到end-1的元素.可使用+和*进行拼接,要进行拼接序列的类型必须相同,不能元组和列表进行拼接.可使用len函数进行

【转】《windows核心编程》读书笔记

这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和Windows实际机制可能有出入,但应该是合理的.开头几章由于我追求简洁,往往是很多单独的字句,后面的内容更为连贯. 海量细节. 第1章    错误处理 1.         GetLastError返回的是最后的错误码,即更早的错误码可能被覆盖. 2.         GetLastError可能用于描述成功的原因(CreatEvent)

《C#高级编程》读书笔记

<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) short System.Int16 16位有符号的整数 -32 768~32 767(−215−215~215−1215−1) int System.Int32 32位有符号的整数 -2 147 483 648~2 147 483 647(−231−231~231−1231−1) long System.Int

Unix编程艺术读书笔记(一)

 Unix编程艺术读书笔记(一)这本书是一位面试官告诉我的,很感谢他的指点,关于面试的详细过程,我想以后再写,当然我也意识到自己的不足,一方面是面试的技巧,还有一方面就是学习的方法.阅读这本书很享受,加上之前的积累,一些疑惑,还有一些基础的不足,在这本书里找到了归宿. 下面,一起来享受这本书的精华吧 Unix诞生与1969年,那时候我们还在闹文革吧,可一个可以改变21世纪甚至更远的未来的操作系统问世,至少现在的Linux是基于Unix的设计哲学.Unix是唯一一个在不同种类的计算机,众多厂商

Javascript DOM 编程艺术读书笔记16/04/01

愚人节快乐 开始用webstorm了,随着学习深入,代码越来越长,因为不借助ide还真是挺难的 今天发现了一个严重的误区,text和textNode是完全不同的两个概念,之前没有特别注意,写代码很容易跳过createTextNode直接用parentNode.appendChild(text) 单独拎出来晒一晒,以后引以为戒 Javascript DOM 编程艺术读书笔记16/04/01

《Unix环境高级编程》读书笔记 第7章-进程环境

1. main函数 int main( int argc, char *argv[] ); argc是命令行参数的数目,包括程序名在内 argv是指向参数的各个指针所构成的数组,即指针数组 当内核执行C程序时(使用exec函数),在调用main前先调用一个特殊的启动例程.可执行程序文件将此启动例程指定为程序的起始地址——这是由连接器设置的,而连接器则是由C编译器调用.启动例程从内核取得命令行参数和环境变量值,然后按上述方式调用main函数做好安排. 2. 进程终止 有8种方式使进程终止,其中5种