图像直方图

图像直方图就是用来统计图像像素值分布的。

灰度图分布

读取灰度图

复制代码
phone = cv2.imread('phone.png', cv2.IMREAD_GRAYSCALE)
a = phone.ravel()
plt.hist(a, bins=256)
plt.show()

如何可以获得当前像素值分布

读取各通道的像素值分布

复制代码
img = cv2.imread('phone.png')
colors = ('b', 'g', 'r')
for i, col in enumerate(colors):
    histr = cv2.calcHist([img], [i], None, [256], [0, 256])
    plt.plot(histr, color=col)
plt.show()

加上掩膜

这个就是给一张图片(黑白图片),与我们目标图片相加,然后白色部分的图像就会得到保留,而黑色就变成了黑色。

复制代码
phone = cv2.imread('phone.png', cv2.IMREAD_GRAYSCALE)
cv2.imshow('phone',phone)
cv2.waitKey(0)
mask = np.zeros(phone.shape[:2],np.uint8)
mask[50:530,100:470] = 255
cv2.imshow('mask',mask)
cv2.waitKey(0)
Phone_mask = cv2.bitwise_and(phone,phone,mask=mask)
cv2.imshow('Phone_mask',Phone_mask)
cv2.waitKey(0)
Phone_hist_mask = cv2.calcHist([phone], [0], mask, [16], [0, 256])
plt.plot(Phone_hist_mask)
plt.show()

例如这样一个掩膜

与我们图像相加后

这里我们还可以把掩膜设置为一个轮廓,那么就可以读取轮廓了。

相关推荐
EkihzniY4 小时前
AI+OCR:解锁数字化新视界
人工智能·ocr
东哥说-MES|从入门到精通4 小时前
GenAI-生成式人工智能在工业制造中的应用
大数据·人工智能·智能制造·数字化·数字化转型·mes
铅笔侠_小龙虾5 小时前
深度学习理论推导--梯度下降法
人工智能·深度学习
kaikaile19955 小时前
基于遗传算法的车辆路径问题(VRP)解决方案MATLAB实现
开发语言·人工智能·matlab
lpfasd1235 小时前
第1章_LangGraph的背景与设计哲学
人工智能
Aevget6 小时前
界面组件Kendo UI for React 2025 Q3亮点 - AI功能全面提升
人工智能·react.js·ui·界面控件·kendo ui·ui开发
桜吹雪6 小时前
LangChain.js/DeepAgents可观测性
javascript·人工智能
&&Citrus6 小时前
【杂谈】SNNU公共计算平台:深度学习服务器配置与远程开发指北
服务器·人工智能·vscode·深度学习·snnu
乌恩大侠6 小时前
Spark 机器上修改缓冲区大小
人工智能·usrp
STLearner6 小时前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘