OpenCV
OpenCV 基本技术记录
G5Lorenzo
这个作者很懒,什么都没留下…
展开
-
OpenCV——01环境搭建与测试
OpenCV——01环境搭建与测试OpenCV的模块OpenCV的环境搭建在cmd中输入下列命令:pip install opencv-pythonpip install opencv-contrib-python (OpenCV的扩展模块)pip install pytesseract (谷歌的一个开源库,用于数字验证码识别)# -*- coding:utf-8 -*-im...原创 2019-09-30 20:16:26 · 144 阅读 · 0 评论 -
OpenCV——02图片加载与保存
OpenCV——02图片加载与保存什么是图像结构化存储的数据信息图像属性:通道数目高与宽像素数据像素类型读取保存图片和视频的操作# -*- coding:utf-8 -*-import cv2 as cvimport numpy as np# 读取视频的操作def video_demo(): capture = cv.VideoCapture(0) #...原创 2019-09-30 21:07:44 · 130 阅读 · 0 评论 -
OpenCV——03用Numpy操作图片
OpenCV——03用Numpy操作图片# -*- coding:utf-8 -*-import cv2 as cvimport numpy as np# 访问图片中的每个像素def access_pixel(image): print(image.shape) height = image.shape[0] width = image.shape[1] ...原创 2019-09-30 21:53:53 · 168 阅读 · 0 评论 -
OpenCV——04色彩空间
OpenCV——04色彩空间色彩空间什么是色彩空间常见的色彩空间色彩空间相互转换学会使用inRange通道分离与合并1.什么是色彩空间色彩空间:它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。位于系统的每种颜色都有单个点表示。2.常见的色彩空间RGBHSVHISYCrCbYUVRGB:HSV:关于HSV的...原创 2019-10-01 10:43:36 · 174 阅读 · 0 评论 -
OpenCV——05像素运算
OpenCV——05像素运算像素运算算术运算加、减、乘、除应用——调节亮度、对比度逻辑运算与、或、非应用——遮罩层控制原创 2019-10-07 15:28:06 · 166 阅读 · 0 评论 -
OpenCV——06ROI与泛洪填充
OpenCV——06ROI与泛洪填充ROI与泛洪填充ROIROI是什么怎么获取泛洪填充泛洪填充是什么开始点怎么选择泛洪填充的用途1.ROIROI(Region of interest):感兴趣区域。机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI怎么获取:通过numpy指定区域获取# -*-...原创 2019-10-07 16:39:15 · 118 阅读 · 0 评论 -
OpenCV——07模糊操作
OpenCV——07模糊操作1.模糊操作均值操作中值操作自定义操作2.模糊操作的基本原理1.基于离散卷积2.定义好每个卷积核3.不同的卷积核得到不同的卷积效果4.模糊是卷积的一种表现# -*- coding:utf-8 -*-# -*- coding:utf-8 -*-import cv2 as cvimport numpy as np# 均值模糊——对随机噪声具...原创 2019-10-07 17:11:22 · 124 阅读 · 0 评论 -
OpenCV——08边缘保留滤波(EPF)
OpenCV——08边缘保留滤波(EPF)边缘保留滤波(EPF)高斯双边模糊均值迁移# -*- coding:utf-8 -*-import cv2 as cvimport numpy as np# 高斯双边模糊def bi_demo(image): dst = cv.bilateralFilter(image, 0, 100, 15) cv.imshow("...原创 2019-10-07 20:40:39 · 151 阅读 · 0 评论 -
OpenCV——09像素直方图
OpenCV——09像素直方图像素直方图matplotlib的直方图opencv的直方图直方图的应用直方图均衡化直方图比较# -*- coding:utf-8 -*-import cv2 as cvimport numpy as npfrom matplotlib import pyplot as pltdef plot_demo(image): # ....原创 2019-10-08 09:48:57 · 363 阅读 · 1 评论 -
OpenCV——10模板匹配
OpenCV——10模板匹配模板匹配模板匹配的基本原理OpenCV相关方法使用模板匹配的基本原理模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域,所以模板匹配首先需要一个模板图像T(给定的子图像),另外需要一个待检测的图像——源图像S工作方法,在待检测图像上,从左往右,从上往下计算模板图像与重叠子图像的匹配程度,匹配程度越大,两者相同的可能性就越大OpenCV相关方法...原创 2019-10-08 10:49:58 · 117 阅读 · 0 评论 -
OpenCV——11图像二值化
图像二值化二值图像图像二值化方法OpenCV中图像二值化方法超大图像二值化二值图像:0代表黑色,1代表白色图像二值化方法全局阈值局部阈值OpenCV中图像二值化方法OTSUTriangle自动与手动说明:当图像直方图中只有一个波峰的时候,cv.THRESH_TRIANGLE效果比较好,当有多个波峰时效果很差,常用于细胞图像处理领域cv.adapt...原创 2019-10-08 18:35:19 · 353 阅读 · 0 评论 -
OpenCV——12图像金字塔
OpenCV——12图像金字塔图像金字塔图像金子塔原理高斯金字塔与拉普拉斯金字塔1.高斯图像金子塔reduce = 高斯模糊+降采样expand = 扩大+卷积2.拉普拉斯金字塔Li=gi−Expand(g2)L_i = g_i-Expand(g2)Li=gi−Expand(g2)# -*- coding:utf-8 -*-import cv2 as cvim...原创 2019-10-11 10:27:19 · 98 阅读 · 0 评论 -
OpenCV——13图像梯度
图像梯度图像梯度:一个图像,我们对它的每两个像素相减,减完的结果赋给原来相对应的像素,像素之间的差值所形成的图,我们称之为图像的梯度图像图像边缘Sobel算子拉普拉斯算子1.图像边缘图像边缘附近的像素差值比较大,比如下图中的头发和脸的交接区域,f(t)表示该区域像素差值的曲线,f’(t)中的极值点反映了像素变化最大的地方,所以,通过图像的一阶导数可以求得图像的边缘2.Sobel...原创 2019-10-11 11:29:58 · 393 阅读 · 0 评论 -
OpenCV——14Canny边缘提取
Canny边缘提取Canny算法介绍OpenCV中的演示Canny算法介绍Canny是边缘检测算法,在1986年提出的。是一个很好的边缘检测器,同时也是很常用也很实用的图像处理方法Canny算法的步骤:高斯模糊 - GaussianBlur (降噪)灰度转换 - cvtColor计算梯度 – Sobel/Scharr非最大信号抑制高低阈值输出二值图像非最大信号抑制:...原创 2019-10-11 20:23:40 · 202 阅读 · 0 评论 -
OpenCV——15直线检测
直线检测霍夫直线变换介绍相关API代码演示1.霍夫直线变换介绍Hough Line Transform用来做直线检测前提条件 – 边缘检测已经完成平面空间到极坐标空间转换# -*- coding:utf-8 -*-import cv2 as cvimport numpy as npdef line_detection(image): gray = cv.c...原创 2019-10-11 21:16:31 · 191 阅读 · 0 评论 -
OpenCV——16圆检测
圆检测霍夫圆检测原理代码层面知识点霍夫圆检测原理从平面坐标到极坐标转换三个参数C(x0,y0,r)C(x_0,y_0,r)C(x0,y0,r),其中(x0,y0)(x_0,y_0)(x0,y0)是圆心假设平面坐标的任意一个圆上的点,转换到极坐标中:C(x_0,y_0,r)处有最大值,霍夫变换正是利用这个原理实现圆的检测。现实考量因为霍夫圆检测对噪声比较敏感,所以首...原创 2019-10-11 21:42:02 · 126 阅读 · 0 评论 -
OpenCV——17轮廓发现
轮廓发现轮廓发现介绍相关API代码演示轮廓发现介绍轮廓发现:是基于图像边缘提取的基础寻找对象轮廓的方法。所以边缘提取的阈值选定会影响最终轮廓发现结果相关API代码演示API介绍:findContours发现轮廓drawContours绘制轮廓# -*- coding:utf-8 -*-import cv2 as cvimport numpy as npd...原创 2019-10-12 10:48:33 · 96 阅读 · 0 评论 -
OpenCV——18对象测量
对象测量弧长与面积多边形拟合几何矩计算相关API弧长与面积轮廓发现计算每个轮廓的弧长与面积,像素单位多边形拟合获取轮廓的多边形拟合结果approxPolyDPcontourepsilon越小越折线越逼近真实形状close – 是否为闭合区域几何矩计算原点矩:mpq=∑x=1M∑y=1Nxpyqf(x,y)m_{pq}=\sum\limits_{x=...原创 2019-10-12 14:52:33 · 151 阅读 · 0 评论 -
OpenCV——19膨胀与腐蚀
膨胀与腐蚀图像形态学膨胀腐蚀相关API1.图像形态学是图像处理学科的一个单独分支学科灰度与二值图像处理中重要手段是由数学的集合论等相关理论发展起来的2.膨胀(Dilate)膨胀的作用:对象大小增加一个像素(3x3)平滑对象边缘减少或者填充对象之间的距离膨胀的处理:3x3的结构元素/模板——用结构元素覆盖下图像的最大像素替换当前结构元素中心的像素如下图...原创 2019-10-12 15:28:32 · 196 阅读 · 0 评论 -
OpenCV——20开闭操作
开闭操作开操作闭操作开闭操作作用1.开操作图像形态学的重要操作之一,基于膨胀与腐蚀操作组合形成的主要是应用在二值图像分析中,灰度图像亦可开操作=腐蚀+膨胀, 输入图像 + 结构元素2.开操作图像形态学的重要操作之一,基于膨胀与腐蚀操作组合形成的主要是应用在二值图像分析中,灰度图像亦可闭操作=膨胀+腐蚀, 输入图像 + 结构元素3.开闭操作作用开操作——去除小...原创 2019-10-12 16:20:35 · 160 阅读 · 0 评论 -
OpenCV——21顶帽、黑帽、形态学梯度
顶帽、黑帽、形态学梯度顶帽黑猫形态学梯度1.顶帽(TopHat)顶帽:又称礼帽,原图像与开操作后的图像之间的差值图像2.黑帽(BlackHat)黑帽:闭操作图像与原图像的差值图像3.形态学梯度基本梯度基本梯度是用膨胀后的图像减去腐蚀后的图像得到差值图像,称为梯度图像也是opencv中支持的计算形态学梯度的方法,而此方法得到梯度有被称为基本梯度。内部梯度是用原图像减...原创 2019-10-12 16:59:23 · 1030 阅读 · 0 评论 -
OpenCV——22分水岭算法
分水岭算法距离变换分水岭变换介绍OpenCV分水岭算法API原创 2019-10-12 21:58:23 · 188 阅读 · 0 评论