直方图
1.直方图就是为了显示图片中像素的分布,直方图的图像传入必须是灰色图
API:cv.calcHist([img],[chanels],mask,histSize,ranges,[,hist,accumulate])
参数:
img:传入的图像
chanels:图像的灰度值
mask:掩膜
histSize:Bin数目,像素的数目,默认为[256]
ranges:像素值范围,默认为[0,256]
import numpy as np import cv2 as cv import matplotlib.pyplot as plt img = cv.imread('image1.jpg',0) #创建直方图图像变量
hist = cv.calcHist([img],[0],None,[256],[0,256])
plt.plot(hist)#绘制直方图
plt.show()
2.掩膜的应用,作用就是为凸显图像中某个区域,也可以用于屏蔽某个区域
import numpy as np import cv2 as cv import matplotlib.pyplot as plt img = cv.imread('image1.jpg',0)
#创建掩膜参数变量
mask = np.zeros(img.shape[:2],np.uint8)
mask[100:75,200:150] = 255
#创建掩膜突出变量
img_mask = cv.bitwise_and(img,img,mask = mask)
#统计掩膜后的灰色图
mask_hist = cv.calcHist([img],[0],mask,[256],[0,256])
plt.plot(mask_hist)
plt.show()
3.直方图均衡化就是将图像变得更加的颜色浅
API:cv.eqaulizeHist(img)
import numpy as np import cv2 as cv import matplotlib.pyplot as plt img = cv.imread('image1.jpg',0) #创建均衡化对象 dist = cv.equalizeHist(img) plt.imshow(dist,cmap = plt.cm.gray) plt.show()
4.自适应的均衡化:将图像进行划分,设置对比度限制,超过限制就会均衡化
API:cv.createCLAHE(clipLimit,TileGridSize)
import numpy as np import cv2 as cv import matplotlib.pyplot as plt img = cv.imread('image1.jpg',0) #创建自适应均衡化对象 dist = cv.createHist = (clipLimit = 2.0,tileGridSize = (4,4)) cl = cv.apply(img) plt.imshow(cl,cmap = plt.cm.gray) plt.show()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!