随笔分类 -  opencv学习

1
摘要:视频信号时由一系列的图像构成的,这些图像称为帧,播放帧的速度称为帧速率,通常使用帧/秒表示, 即FPS(Frames Per Second),每秒出现的帧数 OpenCv提供cv2.VideoCapture()类来处理视频, 函数形式 捕获对象 = cv2.VideoCapture("摄像头ID号或 阅读全文
posted @ 2020-02-16 17:16 miaorn 阅读(1490) 评论(0) 推荐(0)
摘要:霍夫变换是一种在图像中寻找直线,圆形以及其他简单形状的方法,采用类似于投票的方法来获取图像内的形状集合 通过笛卡尔坐标系来简单说明霍夫变换 在笛卡尔x-y坐标系(笛卡尔空间)中有一条直线 y = k0 * x +b0 则在霍夫k-b坐标系(霍夫空间)中找到映射的点( k0 , b0 ) 同样在笛卡尔 阅读全文
posted @ 2020-02-14 22:33 miaorn 阅读(307) 评论(0) 推荐(0)
摘要:模板匹配是指在图像A中寻找与图像B最相似的部分,一般A称为输入图像,B称为模板图像 模板匹配函数 result = cv2.matchTemplate(image , temp1 , method , [,mask]) result 函数每次计算模板和输入图像的重叠区域相似度之后将结果存入映射图像r 阅读全文
posted @ 2020-02-13 22:05 miaorn 阅读(1746) 评论(0) 推荐(0)
摘要:图像处理一般分为空间域处理和频率域处理 空间域处理是直接对图像内的像素进行处理。主要划分为灰度变换核空间滤波两种形式, 灰度变换对图像内的单个像素进行处理,滤波处理涉及对图像质量的改变 频率域处理是先将图像变换到频率域,然后在频率域对图像进行处理,最后通过反变换将图像变为空间域。 傅里叶变换可以将图 阅读全文
posted @ 2020-02-12 22:13 miaorn 阅读(7205) 评论(0) 推荐(1)
摘要:图像金字塔是由一幅图像的多个不同分辨率的子图构成的图像集合,该组图像由单个图像通过不断降采样所产生的, 最小的图像可能只有一个像素点 图像金字塔 是一系列以金字塔形状派列的、自底向上分辨率逐渐降低的图像集合 金子塔的底部是待处理的高分辨率的原始图像,而顶部则是其低分辨率的近似图像,每向上一级图像的宽 阅读全文
posted @ 2020-02-11 16:26 miaorn 阅读(365) 评论(0) 推荐(0)
摘要:图像的梯度计算的是图像变化的速度,对于边缘部分呢灰度值变换大,梯度值也大,相反则灰度值变化小,梯度值小 图像梯度值严格说应该需要求导数,但是图像梯度一般通过计算像素值的差,来得到梯度的近似值 以下介绍三种算子的使用Sobel算子、Scharr算子和Laplacian算子 Sobel算子是一种离散的微 阅读全文
posted @ 2020-02-11 11:50 miaorn 阅读(1332) 评论(0) 推荐(0)
摘要:腐蚀和膨胀是形态学运算的基础,将腐蚀和膨胀进行组合运算,通过不同的组合可以实现不同的效果,需要自行开发则可以实现开运算,闭运算,形态学梯度运算,礼帽运算 黑帽运算,击中击不中运算等不同形式的运算 函数形式 dst = cv2.morphologyEx( src , op , kernel [ , a 阅读全文
posted @ 2020-02-09 21:41 miaorn 阅读(479) 评论(0) 推荐(0)
摘要:形态学操作主要包含:腐蚀、膨胀、开运算、闭运算、形态学梯度运算、顶帽运算(礼帽运算)、黑帽运算等操作 其中腐蚀操作和膨胀操作是形态学的基础 腐蚀操作能够将图像的边界点消除,将图像沿着边界点向内收缩,也可以将小于指定结构的部分消除,即可以把图像细化, 除去噪声 该操作是逐个像素点来决定值,每次判定的点 阅读全文
posted @ 2020-02-09 20:46 miaorn 阅读(927) 评论(0) 推荐(0)
摘要:直方图是图像处理过程中的一种非常重要的分析工具。 是图像内灰度值的统计特性与灰度值之间的函数,直方图统计图像内各个 灰度级出现的次数 需要注意三个概念: DIMS : 表示绘制直方图时,收集的参数的数量,一般情况下,直方图中收集的数据只有一种,就是灰度级,因此该值为1 RANGE :表示统计的灰度级 阅读全文
posted @ 2020-02-08 19:01 miaorn 阅读(1327) 评论(0) 推荐(0)
摘要:凸包 凸包是指完全包含原有轮廓,并且仅有轮廓上的点所构成的多边形 凸包的每一处都是凸的,在凸包内任意三个连续点的内角小于180度 函数形式: hull = cv2.convexHull( points [, clockwise[ , returnPoints]]) hull为凸包角点 clockwi 阅读全文
posted @ 2020-02-06 17:14 miaorn 阅读(688) 评论(0) 推荐(0)
摘要:轮廓拟合 矩形包围轮廓 1,函数cv2.boundingRect()能够绘制轮廓的矩形边界 retval = cv2.boundingRect( array) retval 表示返回矩形边界左上角顶点的坐标值及矩形边界的宽和高 , 也可以是4个返回值形式 x , y ,w ,h = cv2.boun 阅读全文
posted @ 2020-02-05 15:38 miaorn 阅读(1168) 评论(0) 推荐(0)
摘要:计算轮廓的面积:contourArea retval = cv2.contourArea(contour [, oriented]) retval 为返回的面积 contour 为轮廓 oriented 为布尔值 ,为True时 返回值包含正负号,用来表示轮廓是顺时针还是逆时针,党委False时返回 阅读全文
posted @ 2020-02-05 14:36 miaorn 阅读(531) 评论(0) 推荐(0)
摘要:OpenCV——图像的矩(计算矩、轮廓面积、轮廓或曲线长度) 图像矩描述了图像的全局特征 一阶矩与形状有关 二阶距显示曲线围绕直线平均值的扩展程度 三阶矩是关于平均值的对称性测量 由二阶和三阶矩可以导出7个不变矩,不变矩是图像的统计特性,满足平移、伸缩、旋转的不变性 查找轮廓 image , con 阅读全文
posted @ 2020-02-05 14:02 miaorn 阅读(407) 评论(0) 推荐(0)
摘要:阈值处理是指将图像内高于一定值或者低于一定值的像素点进行处理 函数形式为: retval ,dst = cv2.thresshold( src , thresh , maxval , type ) retval代表返回的阈值 dst代表阈值分割结果图像,与原始图像有相同的大小和类型 src代表要进行 阅读全文
posted @ 2020-01-17 19:11 miaorn 阅读(487) 评论(0) 推荐(0)
摘要:恢复内容开始 几何变换是指将一幅图像映射到另外一幅图像内的操作 一、缩放 函数具体形式为 dst = cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) dst代表输出的目标图像,类型与src相同,大小为dsize 或可以通过src. 阅读全文
posted @ 2020-01-14 19:25 miaorn 阅读(931) 评论(0) 推荐(0)
摘要:在RGB色彩空间三个通道的基础上,还可以加上一个A通道,也叫alpha通道,表示透明度 alpha通道的赋值范围是[0,1],或者[0,255],表示从透明到不透明 1 import cv2 2 import numpy as np 3 img = cv2.imread("/home/miao/do 阅读全文
posted @ 2020-01-13 10:35 miaorn 阅读(4584) 评论(1) 推荐(0)
摘要:图像的运算可以是十进制的值运算也可以是二进制的位逻辑运算 一、图像加法运算 1 import cv2 2 import numpy as np 3 img1 = np.random.randint(0,256, size = [3,3] , dtype = np.uint8) 4 img2 = np 阅读全文
posted @ 2020-01-12 11:47 miaorn 阅读(543) 评论(0) 推荐(0)
摘要:RGB的图像可以拆分出R通道,G通道和B通道。 这里只用了一个简单的代码: 1 import cv2 2 dog = cv2.imread("/home/miao/dog.jpg") 3 cv2.imshow("dog1" , cat) 4 b = dog[:,:,0] 5 g = dog[:,:, 阅读全文
posted @ 2020-01-10 13:24 miaorn 阅读(9591) 评论(0) 推荐(2)
摘要:imshow函数前没有namedWindow函数则自动执行一个,但是该函数默认创建窗口的参数为cv2.WINDOW_AUTOSIZE 窗口大小会自动适应所显示的图像,并且不能改变窗口的大小 cv2.namedWindow("demo" , cv2.WINDOW_NORMAL) cv2.imshow( 阅读全文
posted @ 2020-01-09 17:38 miaorn 阅读(3319) 评论(0) 推荐(0)
摘要:在安装好OpenCV之后就可以开始学习了 首先要准备一张图像素材 接下来就是代码图像处理的基本操作 1 import cv2 首先要导入库 2 lena =cv2.imread("/home/miao/cat.jpg") 这里读取图片,注意路径不然图片不能读取 3 print(lena) 打印图片数 阅读全文
posted @ 2020-01-09 17:15 miaorn 阅读(230) 评论(0) 推荐(0)

1