摘要: 轮廓是什么? 边缘检测能够测出边缘,但是边缘是不连续的; 将边缘连接为一个整体,构成轮廓。 注意的问题: 1.对象是二值图像,所以需要预先进行阈值分割或者边缘检测处理; 2.查找轮廓需要更改原始图像,因此,通常使用原始图像的一份拷贝操作; 3.在OPENCV中,是从黑色背景中查找白色对象,因此,对象 阅读全文
posted @ 2021-08-20 11:06 HappyChen2016 阅读(58) 评论(0) 推荐(0) 编辑
摘要: Laplacian算子:类似于二阶sobel导数。实际上,在opencv中通过调用sobel算子来计算拉普拉斯算子。 Laplace函数实现的方法:先用Sobel 算子计算二阶 x 和 y 导数,再求和。 应用层面,我们先看与一下该函数的原型: dst = cv2.Laplacian(src, dd 阅读全文
posted @ 2021-08-19 17:22 HappyChen2016 阅读(401) 评论(0) 推荐(0) 编辑
摘要: Scharr算子:使用3*3的Sobel算子时,可能不太精准,scharr算子,效果更好。 在 Sobel算子算法函数中,如果设置 ksize=-1 就会使用 3x3 的 Scharr滤波器。 它的原理和sobel算子原理一样,只是卷积核不一样,所以精度会更高一点。 该函数的原型如下: # Sobe 阅读全文
posted @ 2021-08-19 16:58 HappyChen2016 阅读(210) 评论(0) 推荐(0) 编辑
摘要: Sobel算子:是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度,梯度越大越有可能是边缘。 Sobel算子依然是一种过滤器,只是其是带有方向的。在OpenCV-Python中,使用Sobel的算子的函数原型如下: dst = cv2.S 阅读全文
posted @ 2021-08-19 16:37 HappyChen2016 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 图像腐蚀:腐蚀会把物体的边界腐蚀掉,卷积核沿着图象滑动,如果卷积核对应的原图的所有像素值为1,那么中心元素就保持原来的值,否则变为零。主要应用在去除白噪声,也可以断开连在一起的物体。 cv2.erode(src, # 输入图像 原始图像 kernel, # 卷积核 dst=None, anchor= 阅读全文
posted @ 2021-08-19 15:32 HappyChen2016 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 均值滤波:一种典型的线性滤波算法,主要是利用像素点邻域的像素值相加然后取平均值即为该像素点的新的像素值。 cv2.blur(原始图像, 核大小) 参数1:原始图像/输入图像 参数2:内核大小, 一般这样写Size( w,h )来表示内核的大小( 其中,w 为像素宽度, h为像素高度)。Size(3, 阅读全文
posted @ 2021-08-19 14:00 HappyChen2016 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 阈值分割: 二进制阈值化 THRESH_BINARY: 该阈值化类型如下式所示: 解释:在运用该阈值类型的时候,先要选定一个特定的阈值量,比如:125,这样,新的阈值产生规则可以解释为大于125的像素点的灰度值设定为最大值(如8位灰度值最大为255),灰度值小于125的像素点的灰度值设定为0。 反二 阅读全文
posted @ 2021-08-19 11:59 HappyChen2016 阅读(52) 评论(0) 推荐(0) 编辑
摘要: import cv2 as cv import numpy as np from matplotlib import pyplot as plt img = cv.imread("new.jpg") cv.rectangle(img,(1820,1390),(1888,1504),(0,0,255) 阅读全文
posted @ 2021-08-18 16:02 HappyChen2016 阅读(154) 评论(0) 推荐(0) 编辑
摘要: import numpy as np import cv2 as cv #滑动条做调色板 def nothing(x): pass #创建一幅黑色图像 img = np.zeros((512,512,3),np.uint8) cv.namedWindow('img') ''' createTrack 阅读全文
posted @ 2021-08-18 15:04 HappyChen2016 阅读(29) 评论(0) 推荐(0) 编辑
摘要: import numpy as np import cv2 as cv #鼠标双击画圆 def draw_cycle(event,x,y,flags,param): if event == cv.EVENT_LBUTTONDBLCLK: cv.circle(img,(x,y),100,(255,0, 阅读全文
posted @ 2021-08-18 14:45 HappyChen2016 阅读(162) 评论(0) 推荐(0) 编辑