最近在做的工作,需要对图像进行预处理,所以在尝试学习使用opencv。今天在进行gamma校正去除阴影时,发现保存的校正后的图像是全黑的。
因为是做农业图像处理,所以就随手拍了个玉米粒的图像(如下左图),可以看出玉米粒周围有阴影。在进行gamma处理后,用cv2.imshow()方法显示处理后的图像(如下右图),姑且不论处理好坏
用cv2.imwrite()直接保存,打开后显示如下,怎么全黑啊!
搜了各种方法{什么版本问题,保存图像的方法不一样(有的保存方法是.saveImage()等等)}也没解决,后来打印了一下处理后的图像矩阵,发现如下
貌似像素值被标准化还是归一化了(错了请指正),于是把处理后的图像矩阵都扩展回0~255之间,最终保存的图像如下
本人新手,如有错误欢迎指正和探讨!