Python数字图像处理一.实验环境Pycharm2018.2,Anaconda3-5.3二、实验内容与要求1.熟悉Python语言中对图像数据读取,显示等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数将图像显示出来(用imshow)。尝试修改颜色的值,再将图像显示出来,观察图像颜色的变化。2.图像灰度变换处理在图像增强的作用读入不同情况的图像,请自己编程和调用Python中的函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。3.绘制图像灰度直方图的方法,对图像进行均衡化处理请自己编程和调用函数完成如下实验。1)显示图像及灰度直方图,可以发现其灰度值集中在一段区域,用函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。2)对选中的图片进行直方图均衡化处理,试比较与原图的异同。3)对选中的图片进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。图1.1分段线性变换函数三、实验过程1、读取图片并显示信息importcv2src=cv2.imread(mote.jpg,0)print(src.shape)cv2.imshow(src,src)cv2.waitKey(0)文件读取和信息显示:(2)反色Img=255-src(3)灰度图像的转化2.直方图均衡化importcv2img=cv2.imread(mote.jpg,0)dst2=cv2.equalizeHist(img)#直方图均衡化cv2.imshow(img,img)cv2.imshow(equalizeHist,dst2)print(img.shape)cv2.waitKey(0)3.图像处理帧差法,视频异常事件检测importcv2cap=cv2.VideoCapture('D:\\jiankong.avi')ret,frame=cap.read()prevframe=frame#第一帧whileTrue:ret,frame=cap.read()nextframe=frameifret:diff=cv2.absdiff(prevframe,nextframe)cv2.imshow('video',diff)prevframe=nextframe#帧差法背景变化k=cv2.waitKey(30)&0xffifk==27:breakelse:breakcv2.destroyAllWindows()cap.release()用下一帧的图减去上一幅图,适合背景不动的场景,适用于森林火灾检测等。