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