摄像头拍摄后对图片进行图像处理-python(空域增强)
Posted 跋扈洋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了摄像头拍摄后对图片进行图像处理-python(空域增强)相关的知识,希望对你有一定的参考价值。
硬件介绍
据市场调研预测,未来几年内,基于CMOS图像传感器的影像产品将达到50%以上,也就是说,到时CMOS 图像传感器将取代CCD而成为市场的主流。可见,CMOS摄像机的市场前景非常广阔。这是因为CMOS图像传感器件具有两大优点:一是价格比CCD 器件低;二是其芯片的结构可方便地与其它硅基元器件集成,从而可有效地降低整个系统的成本。尽管过去CMOS图像传感器的图像质量比CCD差且分辨率低,然而经过迅速改进,已不断逼近CCD的技术水平,目前这种传感器件已广泛应用于对分辨率要求较低的数字相机、电子玩具、电视会议和保安系统的摄像结构中。
本产品基于CMOS而成的数字传感器具备一定的市场前景性。我们只需要将他直接通过数据线插到USB接口上,就可以直接的使用这个传感器。
应用思路
总体设计
我将通过此数字图像传感器制作物联网有关设计中图像获取并处理部分的功能实现。具体来说,就是通过本数字图像传感器对人和物进行拍摄,之后对拍摄进行图像处理,使用基于空域处理相关的一系列图像增强算法对图像进行增强和处理。本设计我通过python进行实现,具体流程如下:
具体设计
1.首先我们通过调用摄像头,进行相关拍摄功能。部分程序如下:
import cv2
cap = cv2.VideoCapture(1, cv2.CAP_DSHOW)
flag = cap.isOpened()
index = 1
while (flag):
ret, frame = cap.read()
cv2.imshow("Capture_Paizhao", frame)
k = cv2.waitKey(1) & 0xFF
if k == ord('s'): # 按下s键,进入下面的保存图片操作
cv2.imwrite("D:/python/" + str(index) + ".png", frame)
print("save" + str(index) + ".pngsuccessfuly!")
print("-------------------------")
index += 1
elif k == ord('q'): # 按下q键,程序退出
break
cap.release() # 释放摄像头
cv2.destroyAllWindows()# 释放并销毁窗口
- 我们对拍摄的图像进行直方图均衡化。直方图均衡化是一种增强图像对比度的方法,其主要思想是将一副图像的直方图分布变成近似均匀分布,从而增强图像的对比度。直方图均衡化虽然只是数字图像处理里面的基本方法,但是其作用很强大,是一种很经典的算法。直方图均衡化实质上是减少图像的灰度级来加大对比度,图像经均衡化处理之后,图像变得清晰,直方图中每个像素点的灰度级减少,但分布更加均匀,对比度更高。
我们可以看到,第2张图是原图的颜色直方图,第一张是直方图均衡化后的颜色直方图。
这两张图片分别是处理后和处理前的两张图,可以看出,直方图均衡化可以有效的对图像进行对比度增强。 - 锐化
图像锐化就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,亦分空域处理和频域处理两类。图像平滑往往使图像中的边界、 轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。图像锐化处理的目的是为了使图像的边缘、 轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如 微分运算)就可以使图像变的清晰。
话不多说,来看效果。
第一张图是锐化后的结果,可以明显的看出,锐化后的图像,时更具备分离物体的。 - 叠加
在本设计中,使用了叠加的功能。可以把两个物体的图像很好的叠加在一起。比如下图,就将键盘和笔进行了叠加。
- 双边滤波去噪
双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。双边滤波器的好处是可以做边缘保存。
从上图可以看出,经过双边滤波后的图像,少了很多“噪声”,很柔和,此部分的功能也可以用在手机美颜的部分。
操作方法
首先使用摄像头拍摄部分的功能进行图像的采集和存储。之后我们使用直方图均衡化、锐化、叠加和双边滤波的功能,对我们采集的图像进行处理,从而使用在物联网的相关设计中。
功能体验
通过本设计可以很好的使用图像采集和处理优化等相关功能,可以用在智能咖啡厅的相关图像采集,何优化处理上。使用此大联大友尚安森美数字图像传感器进行相关功能的实现,还是非常适合的。
客观评价
本次设计评测主要使用大联大友尚安森美数字图像传感器进行了一个物联网中图像处理部分的应用。从直方图上可以看出,此数字图像传感器采集的图像还是非常均衡的,说明采集的图像质量非常高。此外,通过在采集中,摄像头的抖动中拍摄,而图像没有明显的“变质”可以看出,此数字图像传感器的防抖动部分做的非常好。综合来说,此模块适合物联网相关实验和设计中图像采集部分的相关开发,可以很好的满足相关需求。
总结
本设计利用数字图像传感器实现了一种基于空域增强的物联网设计图像处理方法,主要针对图像的噪声、对比度、画质等成分进行处理。通过分析双边滤波、锐化和直方图均衡化等多种空域图像处理方式,对拍摄的图像进行处理,结果证明,这类设计可以很好的使用在物联网的设计开发中。
后续
如果想了解更多物联网、智能家居项目知识,可以关注我的程序设计专栏。
订阅专栏后,可以在微信公众号上私聊我,直接发给你源码。
或者关注公众号。
编写不易,感谢支持。
以上是关于摄像头拍摄后对图片进行图像处理-python(空域增强)的主要内容,如果未能解决你的问题,请参考以下文章
opencv 如何能把从摄像头中抓取的两帐图片进行精确比较?