![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
十尧予
2021,成为自己想成为的人。
展开
-
图像平滑:导向滤波(python程序)
import numpy as npfrom scipy import signalimport cv2import randomimport pinghua_zhongzhi ##用于向图像加入噪声def guideFilter(I, p, winSize, eps, s): #导向滤波 # 输入图像的高、宽 h, w = I.shape[:2] # 缩小图像 size = (int(round(w * s)), int(round(h * s))) s原创 2021-05-23 19:22:32 · 779 阅读 · 0 评论 -
图像平滑:双边滤波(python程序)
import numpy as npfrom scipy import signalimport cv2import randomimport math#双边滤波def getClosenessWeight(sigma_g,H,W): r,c=np.mgrid[0:H:1,0:W:1] r -= (H - 1) // 2 c -= int(W - 1) // 2 closeWeight=np.exp(-0.5*(np.power(r,2)+np.power(c原创 2021-05-23 18:45:37 · 1925 阅读 · 1 评论 -
图像增强:全局直方图均衡化与限制对比度自适应直方图均衡化(python程序)
主要分四个步骤:计算图像的灰度直方图计算灰度直方图的累加直方图根据累加直方图和直方图均衡化原理得到输入灰度级和输出灰度级之间的映射关系根据第三步得到的灰度级映射关系,循环得到输出图像的每一个像素的灰度级import cv2import numpy as npimport sysimport matplotlib.pyplot as pltimport mathimport zengqiang_huidu#全局直方图均衡化,无参数def equalHist(image):原创 2021-05-23 09:49:48 · 1514 阅读 · 5 评论 -
图像增强:伽马变换(python程序)
import cv2import numpy as npimport sysimport matplotlib.pyplot as plt#伽马变换,有参数,利用幂函数运算def gamma_bianhuan(image,gamma): image=image/255.0 New=np.power(image,gamma) return Newif __name__=='__main__': ##启动语句 a= cv2.imread('D:/2.png'原创 2021-05-22 22:21:39 · 5269 阅读 · 3 评论 -
图像增强:直方图均衡化(python程序)
import cv2import numpy as npimport sysimport matplotlib.pyplot as pltdef zhifangtu_zhengguihua(image,a): Imax=np.max(image) Imin=np.min(image) #要输出的最大最小灰度值 Omin,Omax=0,255 a=float(Omax-Omin)/(Imax-Imin) b=Omin-a*Imin O=a*i原创 2021-05-22 21:46:41 · 422 阅读 · 0 评论 -
图像增强:线性变换(python程序)
首先将整个图像的蓝,绿,红三个通道的灰度值读取出来,线性变换参数取2,即整体每个像素点值*2,大于255就按255算。import cv2import numpy as npimport sysimport matplotlib.pyplot as pltdef xianxing(image,a): image=float(a)*image image[image>255]=255 #数据类型转换 image=np.round(image)#四舍五入原创 2021-05-22 20:57:32 · 1592 阅读 · 0 评论 -
画彩色图像各通道灰度直方图(python)
画彩色图像灰度直方图,图片放在D盘根目录下,没有直接使用hist函数,使用numpy数组自己计算的,加深理解。import cv2import numpy as npimport sysimport matplotlib.pyplot as pltdef calcGrayHist(image): #获得灰度图像矩阵的高、宽 rows,cols=image.shape #储存 grayHist=np.zeros([256],np.uint64) for r原创 2021-05-22 20:22:38 · 780 阅读 · 0 评论 -
pyqt+cv2实现彩色图像、灰度图像的读取、显示与保存(超详细)
大致实现是,用cv2读取一张彩色图片,获取蓝色通道灰度图,将彩色图片和蓝色图片显示在pyqt上,最后将灰度图保存到电脑。界面设计的代码不放了,直接放主要代码。用对话框打开图片,路径不能有中文: image,_=QFileDialog.getOpenFileName(self,'打开文件','.','图像文件(*.jpg *.png)')#第三个参数是默认路径,第四个参数是打开哪一类图像现在image中是图片的路径 a = cv2.imread(image) # 路径名中不能有中文,会出错,cv原创 2021-03-20 16:35:47 · 8001 阅读 · 5 评论 -
OpenCV-均值平滑(python)
均值平滑,卷积核里每个值都是一样的,且相加为1。假如说一个3*3的卷积核,那么每个元素为1/9。不用opencv自带的函数的话,要先求出积分后的图像值,再与卷积核所在的对应位置进行卷积计算,代码如下,如果用opencv自带函数其实只需要一句话,倒数第七行的 b=cv2.blur(blue,(5,5)) 这句,自己编一下有助于理解。import cv2import numpy as npdef integral(image): ##对图像进行积分运算 rows,cols=image.s原创 2020-08-15 00:14:31 · 1706 阅读 · 0 评论 -
OpenCV-高斯平滑(python)
使用高斯平滑对图像进行平滑处理,把包导入,图片路径换了就可以运次,高斯平滑大概原理就是连续函数离散化,用二项分布去近似高斯函数,高斯核是可分离的所以就行和列分开卷积,图像多且大时,分开卷积可以降低时间复杂度。import cv2import numpy as npfrom scipy import signal ## 科学计算包#参数分别为:图像,方差,卷积核高,卷积核宽,边界填充方式,填充常数def gaussBlur(image,sigma,H,W,_boundary='fill',_f原创 2020-08-13 23:53:01 · 1480 阅读 · 0 评论 -
opencv+python实现图像仿射变换(注释全)
用的是cv2.getAffineTransform这个函数实现`from matplotlib import pyplot as pltimport cv2import numpy as npimg=cv2.imread(‘E:/cat.jpg’) #路径名中不能有中文,会出错s=img.sizeprint(img.shape) #输出三维向量(500,500,3)p1 = np.float32([[50,50],[200,50],[50,200]]) #变原创 2020-05-26 23:09:16 · 992 阅读 · 0 评论