Python

【python-opencv】图像直方图

 图像直方图使用到:python-opencv、matplotlib、numpydefplot_demo(image):print(len(image.ravel()))#统计image3通道的像素个数#numpy的ravel函数功能是将多维数组降为一维数组image.ravel()=高像素320*宽像素24...

【python-opencv】30-角点检测

【微语】世上有很多不可能,不过不要在你未尽全力之前下结论特征检测:找到图像特征的技术特征描述:描述图像特征 参考: https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_features_harris/py_feature...

【python-opencv】22-直方图

直方图目录:22.1  直方图的计算,绘制与分析      22.1.1 统计直方图      22.1.2 绘制直方图      22.1.3 使用掩膜(遮罩)22.2  直方图均衡化      22.2.1 OpenCV中的直方图均衡化      22.2.2 Clahe有限对比适应性直方图22.3  2D直方图 ...

【python基础】字符串格式化(% VS format)

字符串格式化Python的字符串格式化有两种方式: 百分号方式、format方式百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。1、百分号方式%[(name)][flags][width].[precision]typecode(name) &nb...

【python-opencv】16-图像平滑

【微语】“你以后向成为什么样的人?”  “什么意思,难道我以后就不能成为我自己吗?”  ----《阿甘正传》 补充知识点:如何理解图像的低频是轮廓,高频是噪声和细节图像的频率:灰度值变化剧烈程度的指标,是灰度在平面空间上的...

【python-opencv】15-图像阈值

【微语】立志要如山,行道要如水。不如山,不能坚定,不如水,不能曲达 1importcv2ascv2importnumpyasnp3frommatplotlibimportpyplotasplt45img=cv.imread(r'picturesgradient.png')6h,w,ch=img.shape78...

【python-opencv】几何变换

 """几何变换-缩放"""img=cv.imread(r'picturesfamily.jpg')"""resize(src,dsize[,dst[,fx[,fy[,interpolation]]]])->dstdsize是变换后图像尺寸,此处后面设定了fxfy缩放比例,故为dsize为None方式一...

【python-opencv】17-形态学操作-腐蚀与膨胀

形态学操作其实就是改变物体的形状,比如腐蚀就是"变瘦",膨胀就是"变胖",看下图就明白了:形态学操作一般作用于二值化图(也可直接作用于原图),来连接相邻的元素或分离成独立的元素。腐蚀和膨胀是针对图片中的白色部分!腐蚀腐蚀的效果是把图片"变瘦",其原理是在原图的小区域内取局部最小值。因为是二值化图,只有0和255,所以小...

【python-opencv】对象测量

 opencv中轮廓特征包括: 如面积,周长,质心,边界框等*弧长与面积测量*多边形拟合*获取轮廓的多边形拟合结果python-opencvAPI提供方法:cv2.moments()用来计算图像中的中心矩(最高到三阶),cv2.HuMoments()用于由中心矩计算Hu矩,同时配合函数cv2.con...

【python+opencv】轮廓发现

python+opencv---轮廓发现轮廓发现---是基于图像边缘提取的基础寻找对象轮廓的方法,所有边缘提取的阈值选定会影响最终轮廓发现的结果。介绍两种API使用:-cv.findContours发现轮廓-cv.drawContours绘制轮廓 *利用梯度避免阈值烦恼效果图:使用边缘Canny()提取边缘高...

【python+opencv】直线检测+圆检测

 Python+OpenCV图像处理——直线检测 1.霍夫变换(HoughTransform)霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像...

【python-opencv】19-Canny边缘检测

Canny边缘提取的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:好的检测-算法能够尽可能多地标识出图像中的实际边缘。好的定位-标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。最小响应-图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识为边缘。算法步骤:代码运行效果: 源码分析:&nbs...

【python-opencv】18-图像梯度+图像边界

效果图:*一阶导数与Soble算子*二阶导数与拉普拉斯算子定义:把图片想象成连续函数,因为边缘部分的像素值是与旁边像素明显有区别的,所以对图片局部求极值,就可以得到整幅图片的边缘信息了。不过图片是二维的离散函数,图像梯度其实就是这个二维离散函数的求导。Sobel算子是普通一阶差分,是基于寻找梯度强度。拉普拉斯算子(二阶...

【python-opencv】20-图像金字塔

知识点介绍图像金字塔原理:高斯金字塔拉普拉斯金字塔:代码层面知识点: cv2.PyrDown:降采样 cv2.PyrUp:升采样高斯金字塔与拉普拉斯金字塔图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说,图像金字塔就是用来进行图像缩...

[python-opencv]超大图像二值化方法

*分块*全局阈值VS局部阈值 1importcv2ascv2importnumpyasnp34defbig_image_binary(image):5print(image.shape)6cw=2137ch=5478h,w=image.shape[:2]9gray=cv.cvtColor(image,cv.C...