![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Opencv-python
学习opencv2
手可摘星辰不去高声语
没有什么可以阻挡我,just do it!!!
展开
-
17-opencv-python-Opencv中轮廓的其他性质和函数(暂无)附上中文手册
OpenCV-Python中文教程 ·看云原创 2020-06-06 21:02:43 · 109 阅读 · 0 评论 -
16-opencv-python-Opencv中的轮廓
目录一、轮廓1、什么是轮廓2、怎么绘制轮廓3、轮廓的近似方法二、轮廓特征1、矩2、轮廓面积3、轮廓的周长(弧长)4、轮廓近似5、凸包、凸性检测6、边界矩形7、最小外接圆8、椭圆拟合9、直线拟合一、轮廓1、什么是轮廓轮廓可以简单认为是成为连续的点(连着边界)连在一起的曲线,具有相同的颜色或者是灰度。轮廓在形状分析和物体识别方面中很有用。为了准确,要使用二值化图像。需要进行阀值化处理或者Canny边界检测 查找轮廓的函数会修改原始图.原创 2020-06-06 20:38:23 · 760 阅读 · 0 评论 -
15-opencv-python-图像金字塔
原理:一般情况下,我们是处理一副具有固定分辨率的图像,但是特殊情况下,我们需要对同一图像的不同分辨率的子图像进行处理,如查找图像中的某个目标,比如人脸,物体等等,我们不知道目标在图像中的尺寸大小。在这种情况下,我们需要创建一组图像,这些图像具有不同分辨率的原始图像。我们把这组图像叫做图像金字塔。就是同一副图像的不同分辨率的子图集合。我们把最大的图像放在底部,最小的放在顶部,看起来就像是一座金字塔。总结:一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。...原创 2020-06-06 16:13:00 · 268 阅读 · 1 评论 -
14-opencv-python-Canny
目录一、原理1.噪音去除2.计算图像梯度3.非极大值抑制4.滞后阈值二、Opencv中的Canny边界检测一、原理Canny边缘检测器是一个多步骤的过程。它涉及模糊图像以消除噪声,在x和y方向上计算Sobel梯度图像,抑制边缘,最后是确定像素是否“边缘状”的滞后阈值阶段。一种非常流行的边缘检测算法,是John F.Canny 在1986 年提出的。1.噪音去除由于边缘检测很容易受到噪音影响,所以第一步一般是使用5×5的高斯滤波器去除噪音2.计算图像梯度对平滑后原创 2020-06-06 15:03:05 · 159 阅读 · 0 评论 -
13-opencv-python-图像梯度
目录一、Sobel算子和Scharr算子二、laplacian算子图像梯度的原理:求导Opencv提供了三种不同梯度的滤波器,或者说高通滤波器:Sobel,Scharr和Laplacian。Sobel和Scharr是求一阶或二阶导数。Scharr是对Sobel(使用小的卷积核的优化),Laplacian是求二阶导数一、Sobel算子和Scharr算子Sobel算子是高斯平滑与微分操作的结合体,ta的抗噪音能力更好。可以设定求导的方向(xorder、yorder)还可以设定使用的卷原创 2020-06-06 14:31:11 · 224 阅读 · 0 评论 -
12-opencv-python-形态学转换
目录一、腐蚀二、膨胀三、开运算四、闭运算五、形态学梯度六、Top-Hat七、Black-Hot八、形态学操作之间的关系九、构造结构化元素(核)形态学转换原理:一般情况下对二值化图像进行操作。需要两个参数,一个是原始图像,另一个是结构化元素(核),它是用来决定操作的性质的。基本操作为腐蚀和膨胀,他们的变体构成了开运算、闭运算、梯度等谢谢这朵小花!!!一、腐蚀把前景物体的边界腐蚀掉,但是前景依然是白色的。卷积核沿着图像滑动,如果与卷积核对应的原...原创 2020-06-05 14:31:21 · 199 阅读 · 0 评论 -
11-opencv-python-图像平滑
目录一、2D卷积二、平均三、高斯模糊四、中值模糊五、双边滤波高通滤波器(HPF, High Pass Filter)高通滤波器(HPF)是检测图像的某个区域,然后根据像素与周围像素的亮度差值来提升该像素的亮度的滤波器。也就是说,如果一个像素比它周围的像素更突出,就会提升它的亮度。HPF用于找到图像的边缘。低通滤波器(Low Pass Filter)高通滤波器是根据像素与邻近像素的亮度差值来提升该像素的亮度。低通滤波器则是在像素与周围像素的亮度差值小于一个特定值...原创 2020-06-05 11:37:57 · 413 阅读 · 0 评论 -
10-opencv-python-图像阀值
目录一、简单阀值二、自适应阀值三、Otsu’s二值化一、简单阀值当像素值大于阀值时,我们给这个像素赋予一个新值(可能是白色),否则我们给予另外一种颜色(也许是黑色)。cv2.threshold(img, thresh, maxval, type, dst=None)img: 原图像 thresh: 阈值 maxval: 当type指定为THRESH_BINARY或THRESH_BINARY_INV时,需要设置该值 type: 指定阈值类型;下面会列出具体类型...原创 2020-06-04 15:35:31 · 569 阅读 · 0 评论 -
09-opencv-python-几何变换
目录一、扩展缩放二、平移三、旋转四、仿射变换、透视变换一、扩展缩放只是改变图像的尺寸大小,使用cv2.resize(img,dsize,fx,fy,interpolation)缩放时:cv2.INTER_CUBIC 拓展时:cv2.INTER_CUBIC(慢)、cv2.INTER_LINEAR 默认情况下,所有改变尺寸的操作使用的插值法都是cv2.INTER_LINEARimport cv2img = cv2.imread('head.png')res =.原创 2020-06-04 11:56:19 · 151 阅读 · 0 评论 -
08-opencv-python-颜色空间转换(物体跟踪)
在HSV颜色空间中要比BGR空间中更容易表示一个特定的颜色。在Opencv的HSV格式中,H(色彩/色度)的取值范围是[0,179],S(饱和度)的取值范围是[0,255],V(亮度)的取值范围是[0,255]。但是不同的软件使用的hsv的格式可能会不同(有的H的取值范围是0-360),要记得归一化处理我们可以利用这一个特点来提取一个特定颜色的物体:下面的程序提取的是一个蓝色的物体(我的手机):import cv2import numpy as npcap = cv2.Vide...原创 2020-06-03 12:10:08 · 341 阅读 · 0 评论 -
07-opencv-python-图像上算术运算
目录一、图像加法二、图像混合(按权重重合)三、按位运算一、图像加法cv2.add()将两幅图像进行加法运算,饱和运算(超过255,即为255) res =img1 +img2:类型必须一直,模运算import cv2import numpy as npx = np.uint8([250])y = np.uint8([10])print(cv2.add(x,y))print(x+y)#输出[[255]][4]二、图像混合(按权重重合)cv2.ad...原创 2020-06-02 21:52:15 · 302 阅读 · 0 评论 -
06-opencv-python-图像的基本操作
目录一、获取图片像素值、修改像素值二、获取图像的属性三、图像ROI四、拆分以及合并图像通道五、为图像扩边(填充)一、获取图片像素值、修改像素值RGB图像:返回RGB值 灰度图像:返回灰度值img.item(图片位置x,图片位置y,RGB值中的第几个)img.itemset((图片位置x,图片位置y,RGB值中的第几个),所要替换的值)import cv2import numpy as npimg = cv2.imread('head.png')v...原创 2020-06-02 20:47:53 · 299 阅读 · 0 评论 -
05-opencv-python-用滑动条做调色板
cv2.createTrackbar(trackbarName, windowName, value, count, onChange)cv2.getTrackbarPos(trackbarName, windowName)trackbarName:轨道栏名称 windowName:窗口名称 value:参数的默认值 count:参数的最大值 onChange:执行的回调函数含义:cv2.createTrackbar函数创建一个滑动条,然后cv2.getTrackbarPos函数返回滑动...原创 2020-06-02 17:15:11 · 211 阅读 · 0 评论 -
04-opencv-python-处理鼠标事件
创建鼠标时间回调函数,当鼠标事件发生的时候就会被执行。所有的鼠标事件回调函数都有一个统一的格式,不同的地方是被调用后的功能。根据opencv的官方文档,鼠标的事件有:鼠标事件注意注意!!!如下所示:MouseEvent Flags EVENT_FLAG_ALTKEY 摁住Alt 这里指的是 要是按住这些键,在图像中拖动鼠标就会留出痕迹 (连续的) EVENT_FLAG_CTRLKEY 摁住Ctrl EVENT_FLA原创 2020-05-19 20:55:50 · 689 阅读 · 1 评论 -
03-opencv-python-绘图函数
这里的img_black = np.zeros((500,500,3),np.uint8)就是构建一个全黑的图片,其实就是500x500像素值的颜色值为(0,0,0)的图片(需要注意的是:这里matlibplot和cv的颜色格式不一样,所以0,0,0表现得是黑色,我的另一篇博客有转换,但是这里其实没什么必要了)import cv2import numpy as npimport matplotlib.pyplot as pltimg_black = np.zeros((500,50原创 2020-05-19 18:47:25 · 461 阅读 · 0 评论 -
02-opencv-python-视频的基本操作
目录一、用摄像头捕捉视频cap = cv2.VideoCapture(value)cap.get(propid)cap.set(propid,own_value)cap.isOpened()ret , frame = cap.read()key = cv2.waitKey(milliseconds) & 0xFFcap.release()与destroyAllWindows()二、文件中播放视频三、保存视频一、用摄像头捕捉视频#codin...原创 2020-05-19 14:33:27 · 525 阅读 · 0 评论 -
01-opencv-python-图像的读取、保存、显示
目录1、img = cv2.imread(img_path,flag)2、cv2.imshow(window_name,img)3、key = cv2.waitKey(millseconds) & 0xFF4、cv2.destroyAllWindows(window_name)5、cv2.imwrite(img_save_path_and_name,img)6、image = cv2.cvtColor(img ,flag)代码实例1:代码实例2(matlibpl.原创 2020-05-18 21:51:35 · 714 阅读 · 0 评论