一.使用OpenCV处理图像 1.不同颜色空间的转换 OpenCV中有数百种关于在不同色彩空间之间转换的方法.当前,在计算机视觉中有三种常用的色彩空间:灰度.BGR以及HSV(Hue, Saturation, Value) 灰度色彩空间是通过去除彩色信息来将其转换为灰阶,灰度色彩空间对中间处理特别有效,比如人脸检测. BGR,即蓝-绿-红色彩空间,每一个像素点都由一个三元数组来表示,分别代表蓝.绿.红三种颜色. HSV,H(Hue)是色度,S(Saturation)是饱和度,V(value)表示…
1. Canny边缘检测 OpenCV提供了Canny函数来识别边缘.Canny边缘检测算法有5个步骤:使用高斯滤波器对图像进行去噪.计算梯度.在边缘上使用非最大抑制(NMS).在检测到的边缘上使用双阈值去除假阳性(false positive),最后还会分析所有的边缘及其之间的连接,以保留真正的边缘并消除不明显的边缘. import cv2 import numpy as np img = cv2.imread("flower.jpg") cv2.imwrite("cann…
1. 图像与原始字节之间的转换 从概念上讲,一个字节能表示0到255的整数.目前,对于多有的实时图像应用而言,虽然有其他的表示形式,但一个像素通常由每个通道的一个字节表示. 一个OpenCV图像是.array类型的二维或三维数组.8位的灰度图像是一个含有字节值的二维数组.一个24位的BGR图像是一个三维数组,它也包含了字节值.可使用表达式访问这些值,如image[0,0]或image[0,0,0].第一个值代表像素的y坐标啊或行,0表示顶部:第二个值是像素的x坐标或列,0表示最左边:第三个值(如…
图像的几何变换主要包括:平移.扩大与缩小.旋转.仿射.透视等等.图像变换是建立在矩阵运算基础上的,通过矩阵运算可以很快的找到对应关系. 1. 图像的平移 图像的平移,沿着x方向tx距离,y方向ty距离,需要构造移动矩阵M.通过numpy来产生这个矩阵,并将其赋值给仿射函数cv2.warpAffine(). 仿射函数cv2.warpAffine()接受三个参数,需要变换的原始图像,移动矩阵M 以及变换的图像大小(这个大小如果不和原始图像大小相同,那么函数会自动通过插值来调整像素间的关系). imp…
Python3下OpenCV的安装 :http://blog.csdn.net/lwplwf/article/details/61616493 1. 读/写图像文件 OpenCV的imread()函数和imwrite()函数能支持各种静态图像文件格式.不同系统支持的文件格式不一样,但都支持BMP格式,通常还应该支持PNG.JPEG和TIFF格式. 无论哪种格式,每个像素都会有一个值,但不同格式表示像素的方式有所不同.如: import cv2import numpy as np img = np…
1.源代码下载地址 <OpenCV3 计算机视觉--Python语言实现 第二版>由我们翻译,英文书名<Learning OpenCV3 Computer Vision with Python second edition>源代码的下地址为: https://github.com/techfort/pycv 或 http://examples.oreilly.com/9781785283840/ 2.纠错 (1)第11页最下面的第二行代码中的“libavcodecdev”应修改为“…
Go语言学习笔记三: 常量 定义常量 常量就是在声明后不能再修改的量. const x int = 100 const y string = "abc" const z = "abc" 看上去与变量的定义差不多,就是把var变成了const关键字. 枚举 const ( Yellow = 1 Red = 2 Blue = 3 ) 特殊常量iota 这个iota非常奇葩,从0开始,每次使用一次就自动增加一.例如: const ( a = iota b = iota c…
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark SQL相关的知识,如果对Spark不熟的同学可以先看看之前总结的两篇文章: [原]Learning Spark (Python版) 学习笔记(一)----RDD 基本概念与命令 [原]Learning Spark (Python版) 学习笔记(二)----键值对.数据读取与保存.共享特性 #####…
SM3杂凑算法实现--第三部分 一.SM3 密码概述        我们首先把需要用到的算法呈现出来,最后我们再考虑如何集合为一个库的方法,这一部分我们就开始编写一个新的算法:国家商用密码标准SM3密码算法.        首先要明白SM3是一个什么样的东西:单向加密算法.也可以称之为密码哈希算法.杂凑算法.摘要算法,都可以指这类算法.顾名思义,这类算法只能加密不能解密,所以不是为了直接保护数据的秘密性而存在的,不是让使用者解密这串密文得到原文而使用的.这类算法一般用于保护数据明文的完整性,抗篡…
理解与计算机视觉相关的算法.模型以及OpenCV 3 API背后的基本概念,有助于开发现实世界中的各种应用程序(比如:安全和监视领域的工具). OpenCV 3是一种先进的计算机视觉库,可以用于各种图像和视频处理操作,通过OpenCV 3 能很容易地实现一些有前景且功能先进的应用(比如:人脸识别或目标跟踪等).<OpenCV 3计算机视觉:Python语言实现(第2版)>将从图像处理的基本操作出发,带你开启先进计算机视觉概念的探索之旅.计算机视觉是一个快速发展的学科,在现实生活中,它的应用增长…