![](https://img-blog.csdnimg.cn/20201003150730791.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
OpenCV
openCV-python入门
远古穷鬼
这个作者很懒,什么都没留下…
展开
-
图像轮廓
文章目录一.查找并绘制轮廓1.查找图像轮廓(1)返回值contours(2)返回值hierarchy(3)输入参数image(4)输入参数mode(5)输入参数method2.绘制图像轮廓3.实例二.矩特征1.轮廓矩的计算2.计算轮廓面积3.计算轮廓周长边缘检测可以检测出边缘信息,但可能边缘不连续,而轮廓检测可以将边缘形成一个整体,便于后续处理。Opencv中提供了查找图像轮廓的函数cv2.findContours(),其能查找图像的轮廓信息;cv2.drawContours()能将轮廓画出来。一.原创 2020-10-17 21:07:13 · 407 阅读 · 0 评论 -
图像金字塔
文章目录一.向下采样二.向上采样三.拉普拉斯金字塔图像金字塔就是一副图像多个不同分辨率的子图所构成的一个集合。最底层分辨率最高,通过向下采样得到分辨率更低图像,即对原始图像进行缩小,通常采取直接删除偶数行和欧数列的像素点的形式或对图像先进行高斯滤波,得到近似图像,再对近似图像删除其偶数行和列。从上往下,即向上采样,对分辨率低的图像进行放大,此时需要对图像进行插值,也可以对插值后的图像进行滤波处理。由于对图像进行缩放的过程中会出现信息的丢失,所以对一副图像进行向下采样后,再对其进行向上采样,最终得到的.原创 2020-10-10 15:34:54 · 104 阅读 · 0 评论 -
Canny边缘检测
文章目录Canny边缘检测是一种非常有效的边缘检测方法,其分为如下几个步骤:1.去噪。噪声点与边缘部分的像素值都有很大的梯度值,所以噪声会影响边缘的检测,因此首先要将噪声点过滤掉。2.求梯度的大小和方向,梯度大小突出边缘,方向与边缘方向是垂直的。3.非极大值抑制,此举目的是为了细化边缘,使边缘更加明显。4.确定边缘。对得到的梯度信息进行双阈值处理,确定最终的边缘。opencv提供了Canny()函数来实现Canny边缘的检测,其语法形式:edges=cv2.Canny(image,thre.原创 2020-10-10 14:33:00 · 234 阅读 · 0 评论 -
图像梯度
文章目录一.sobel算子二.scharr算子三.laplace算子图像梯度代表图像灰度值变化的速度,对于一副图像而言,其边缘部分两侧灰度值相差较大,梯度值大,所以对一副图像求梯度可以突出图像边缘的信息。由于像素值为离散值,所以其梯度其是就是差分运算,其本质上也就是一种空间滤波。一.sobel算子其掩模结构为:opencv中提供了cv2.Sobel()来实现Sobel算子的运算,其语法常用形式:dst=cv2.Sobel(src,ddepth,dx,dy,[,ksize[,scale[,de.原创 2020-10-09 21:49:57 · 5090 阅读 · 0 评论 -
图像形态学操作
文章目录一.腐蚀形态学是从图像中提取分量信息,得到图像最本质的特征。形态学操作主要包括:腐蚀,膨胀,开运算,闭运算,,形态学梯度,礼帽运算,黑帽运算。腐蚀和膨胀是基础,其他运算都是二者的混合运算。一.腐蚀顾名思义,所谓腐蚀就是清除掉图像的一些毛刺和细节。其本质上也是一种空间滤波,设定一个掩模,掩模中心逐次滑过每一个像素点,当前像素点(即掩模中心所对应的位置)的值设为掩模覆盖区域中像素的最小值。opencv中提供的腐蚀处理函数为cv2.erode(),其语法格式为:dst=cv2.erode(s.原创 2020-10-08 20:04:53 · 1111 阅读 · 0 评论 -
图像平滑处理
文章目录一.均值滤波二.方框滤波三.高斯滤波四.中值滤波五.双边滤波2D卷积图像平滑处理,又叫做平滑滤波,或模糊滤波,能有效的过滤掉图像内部的噪声。其基本原理是图像像素点的值处理为邻域内其他像素点的均值。取近似的方法,即平滑滤波的方法多种多样。在空间滤波中,事先定义一个掩模,然后将掩模逐步移过像素点,掩模中心即当前像素点的值为掩模内所有像素点的值通过某种方式计算得到,掩模大小可以根据情况选择。但对于边界的点,由于其掩模有一部分在图像外围,所以此时要对其做一些特殊处理,常见的处理方法:(1)控制掩模,.原创 2020-10-07 17:28:19 · 2946 阅读 · 0 评论 -
阈值处理
文章目录一.threshold函数1.将灰度图转化为二值图像:2.对图像进行反二值变换:3.对图像进行截断阈值处理:4.对图像进行超阈值置零处理5.对图像进行低阈值置零处理:二.自适应阈值处理三.Otsu处理阈值处理类似于分段函数处理,设定一个阈值,若图像中的像素点灰度值大于阈值,对其做一定处理;对低于阈值的像素点做另一类处理。如对于一幅灰度图,我们设定阈值为125,大于125的像素点灰度值设为255,小于255的像素点设为0,这样我们就可以得到一副二值图像。在OpenCV中提供了cv2.thres.原创 2020-10-06 19:22:28 · 1967 阅读 · 0 评论 -
几何变换
文章目录一.缩放1.原理2.函数调用二.翻转三.仿射1.实现图像平移2.旋转3.实现更复杂的仿射四.透视五.重映射一.缩放1.原理在缩放的过程实际是改变图像的尺寸,那么他们的像素点的位置也就发生了变化,再缩放过程中最核心的两步:(1)找到变化之后的图像的指定位置像素点在原始图像中的位置。(2)将原始图像中对应位置像素的灰度值赋予新的像素点。若新的像素点在原图像中的位置为整数坐标,此时只需将原图像中的像素值赋予新的像素点。若新像素点在原图像中的位置为非整数坐标,此时需用一些方法近似,即插值。常见.原创 2020-10-05 20:03:56 · 369 阅读 · 0 评论 -
色彩空间类型转换
文章目录一.色彩空间基础1.GRAY色彩空间2.XYZ色彩空间3.YCrCb色彩空间4.HSV色彩空间二.类型转换函数三.alpha通道一.色彩空间基础色彩空间类型装换是指将图像从一个色彩空间转化到另一个色彩空间。常见的色彩空间包括GRAY色彩空间,XYZ色彩空间,YCrCb色彩空间,HSV色彩空间,HLS色彩空间,CIELab色彩空间,CIELuv*色彩空间,Bayer色彩空间。1.GRAY色彩空间灰度图像,通常是8bit灰度级,灰度值范围为0~255。当图像从RGB色彩空间转化为GRAY色彩.原创 2020-10-05 17:08:42 · 1695 阅读 · 0 评论 -
图像运算
文章目录一.图像加法运算1.使用运算符“+”2.cv2.add()二.图像加权和三.按位逻辑运算1.按位与运算2.按位或运算3.按位非4.按位异或四.掩模五.图像与数值的运算六.位平面分解1.图像预处理2.构造提取矩阵3.提取位平面4.阈值处理5.显示图像七.图像加密和解密八.数字水印1.嵌入2.提取一.图像加法运算在图像处理的过程中,需要对图像进行加法运算。可以通过运算符“+”对图像进行加法运算,也可以调用函数cv2.add()函数进行运算。通常图像像素灰度值范围为0~255,两像素值相加时可能.原创 2020-10-04 18:04:18 · 1520 阅读 · 0 评论 -
图像处理基础
文章目录前言一、图像的基本表示方法1.二值图像2.灰度图像3.彩色图像二、像素处理1.二值图像及灰度图像2.彩色图像三.使用numpy.array访问像素1.二值图像及灰度图2.彩色图像四.感兴趣区域(1)(2)或者对于某幅图像,需要仅仅显示其某个部分,也可以采取类似操作:(3)对上述图片人物进行打码五.通道操作1.通过索引来拆分2.调用函数来拆分3.通道合并六.获取图像的相关属性1.大小:shape2.size3.dtype前言一、图像的基本表示方法这里主要讨论二值图像,灰度图像,彩色图像的.原创 2020-10-03 17:21:40 · 1128 阅读 · 0 评论 -
OpenCV入门
文章目录一、图像处理基本操作(1)读取图像opencv提供了cv2.imread()来读取图像,该函数的语法:(2)显示图像常用图像显示函数为cv2.imshow(winname,image)(3)waitKey()函数(4)destroyAllWindows()(5)保存图像一、图像处理基本操作示例:在图像处理过程中,读取图像,显示图像,保存图像是最基本操作,下面借助opencv-python实现这几种操作(1)读取图像opencv提供了cv2.imread()来读取图像,该函数的语法:im.原创 2020-10-02 21:43:13 · 294 阅读 · 0 评论