![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
飞羽QQ
这个作者很懒,什么都没留下…
展开
-
opencv-直方图及其操作
opencv中的直方图是反应一张图片中的颜色分布import cv2import matplotlib.pyplot as pltimg = cv2.imread('t2.jpg')cv2.imshow('test',img)img_B = cv2.calcHist([img],[0],None,[255],[0,255]) #蓝颜色直方图plt.plot(img_B,label='B',color='b')img_G = cv2.calcHist([img],[1],None,[255原创 2020-07-07 20:25:51 · 231 阅读 · 0 评论 -
opencv-图像无缝融合
鉴于上一篇写的图像金字塔,其中一个应用场景就是图像的无缝融合,现在来看一下如何应用。import cv2import numpy as npA = cv2.imread('f3.jpg')B = cv2.imread('f4.jpg')# A = cv2.resize(A,(640,640))# B = cv2.resize(B,(640,640))# 对图像A进行高斯金字塔下采样G = A.copy()gpA = [G]for i in range(6): G = cv2原创 2020-07-07 16:52:25 · 861 阅读 · 0 评论 -
opencv-高斯金字塔与拉普拉斯金字塔
高斯金字塔高斯金字塔其实原理很简单,就是通过高斯模糊(高斯滤波)后进行上采样和下采样,其中Down表示下采样函数,下采样可以通过抛去图像中的偶数行和偶数列来实现,这样图像长宽各减少二分之一,面积减少四分之一。opencv提供了pyrDown()函数用于下采样,效果如下:import cv2img = cv2.imread('7.jpg')for i in range(3): cv2.imshow(f'img{i}',img) img = cv2.pyrDown(img)原创 2020-07-07 15:48:58 · 333 阅读 · 0 评论 -
Canny边缘提取算法
原理祥解彩色图像转换为灰色图像高斯滤波,滤除噪声点计算图像梯度,根据梯度计算边缘幅值与角度非极大值抑制双阀值边缘连接处理二值化图像输出结果非极大值抑制非极大值抑制是一种边缘稀疏技术,非极大值抑制的作用在于“瘦”边,对图像进行梯度计算后,梯度值提取的边缘仍然很模糊(边缘比较厚),而非极大值抑制则可以帮助将局部最大值之外的所有梯度值抑制为01.将当前像素的梯度强度与沿正负梯度方向上的两个像素进行比较2.如果当前像素的梯度强度与另外两个像素相比最大,则该像素点保留为边缘点,否则该像素点将被原创 2020-07-06 20:33:20 · 511 阅读 · 0 评论 -
opencv-图像的几何变换小结
resize/transpose/flipdef resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)。src 输入图。dst 输出图,形态和输入图相同,当dsize不等于0,输出图尺寸会和dsize相同,当dsize等于0,输出图尺寸会由输入图尺寸、fx、fy计算而得。dsize 输出尺寸,当输入为0时,fx、fy皆不可为0,dsize = Size(round(fxsrc.cols),round原创 2020-07-05 16:47:48 · 533 阅读 · 0 评论 -
opencv常用色彩空间
色彩空间(RGB、RGBA、GRAY、HSV、YUV)RGB1)R(Red:红)、G(Green:绿)、B(Blue:蓝) 。2)色光三原色 RGB:吸收俩种,反射自身颜色;在屏幕上显示的图像,就是RGB模式表现的。3)RGB的每个元素在计算机内存中占用1个字节(8bit),所以RGB每个元素的取值范围为:0~255(2的8次方).4) 我们常用的jpg格式的图片就是三通道的RGBRGBA相比RGB多了一个通道,透明度通道A(Alpha 透明度)我们常用的png格式的图片..原创 2020-07-05 12:15:39 · 346 阅读 · 0 评论