在python中,常用PIL及opencv读取,其中就涉及不同方式读取图片的格式不同。其中PIL.Image.open()读取的图片为RGB图,而cv2.imread()读取图片则为BGR图。
有时我们可能还需要灰度图,因此就需要用到图像的类型转换,常用方法如下:
使用函数为:cv2.morphologyEx(img,op,kernel)
op描述cv2.MORPH_OPEN开运算,先腐蚀后膨胀的过程。该运算可以消除小黑点。在纤细点处分离物体,平滑处理较大物体边界,同时不显著改变其面积cv2.MORPH_CLOSE闭运算,先膨胀后腐蚀的过程。该运算可消除内部小黑洞cv2.MORPH_GRADIENT形态学梯度(梯度=膨胀-腐蚀),可突出团块的边缘,同时保留物体边缘轮廓cv2.MORPH_TOPHAT顶帽,突出比原轮廓亮的部分cv2.MORPH_BLACKHAT黑帽,突出比原轮廓暗的部分 # 具体使用方式 kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3)) segm = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) 三、伽马变换伽马变换是一种非线性的图像增强方法,主要用于调整图像的亮度、对比度和颜色平衡。伽马变换是通过调整伽马值来调整图像的对比度和亮度。
提升对比度:对于一些灰度值过低的图像,它们的对比度非常低,难以展示图像内部的细节。通过将伽马值设定在低于1的值,可以提升图像中灰度值较低的像素的亮度值,这可以提高图像的整体对比度,从而增强图像的可视性。调整亮度和颜色平衡:在图像处理中,经常需要对图像中的亮度和色彩进行调整。对于过于暗淡的图像,可以通过将伽马值设定在大于1的值来调整亮度。如果图像的颜色分布歪曲或过为淡板,可以采用比给定伽马值更大的值来进行颜色平衡。在图像编码中的应用:伽马变换在图像编码中被广泛使用,它可以有效的消除图像数据中的大量冗余信息,并在保持图像质量的情况下缩小图像的数据规模。 # 设定伽马值 gamma = 0.5 # 对图像进行伽马变换 gamma_correction = np.power(img / 255.0, gamma) gamma_correction = (gamma_correction * 255).astype(np.uint8)