Python中利用Opencv实现图像读入,通道分离,显示常用函数总结

  • Post author:
  • Post category:python



一、读入图像常用的函数:



1. cv2.imread(参数1,参数2)



参数1:图像路径,参数2读取方式

参数2的取值:1,加载一张彩色图像,忽视透明度,也可设为cv2.IMREAD_COLOR

0,加载一张灰度图,也可将参数设置为cv2.IMREAD_GRAYSCALE,效果与0相同

-1,加载图像包括它的alpha通道,参数设置为cv2.IMREAD_UNCHANGED与-1等价


2. cv2.show(参数1,参数2)



参数1:窗口的名字,参数2:读取的图像


3. cv2.destroyALLWindows()


https://docs.opencv.org/

给出的介绍为;The function destroyAllWindows destroys all of the opened HighGUI windows.也就是将所有打开的窗口关闭。


4. cv2.imwrite(参数1,参数2)



参数1:存储的路径,参数2:存储的图片


5. 灰度转化函数:cv2.cvtColor(参数1,参数2)

参数1指的是要读取的图片,参数2代表转化方式,转化方式有如下几种:

cv2.COLOR_BGR2GRAY:BGR图像转化为灰度图像

cv2.COLOR_GRAY2BGR:灰度图像变化为BGR图像

cv2.COLOR_BGR2RGB:BGR图像变为RGB图像


6.图像通道的分离:cv2.split()

也就是将图像分成R,G,B三个矩阵, 一般而言图像由三个通道,split函数就可以将这三个通道分成三个独立的通道,


7.图像通道的合并cv2.merge()



图像通道的合并:也就是将图像的三个通道进行合并


8.图像的显示:

cv2.imshow(winname, mat)参数winname指的是显示窗口的名字,mat指的是需要被显示的图片名字。一般而言cv.imshow()函数与cv2.waitKey()函数,配合使用

cv2.waitKey(参数),这个参数值为0的时候,窗口会一直显示,直至你在电脑端按下任何键

也可以通过matplotlib库中的pyplot库中的imshow来进行绘图,不过最好在最后加pylab.show(),避免pyplot.imshow(),无法正常显示图片。

举个例子来实现一下,图像的读取,分离与显示:

利用cv2.imread和cv2.imshow实现:

import cv2

img = cv2.imread('C:\\Users\\yu\\Desktop\\picture_csdn\\7.jpg', cv2.IMREAD_COLOR)
img_cv_method = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
R,G,B = cv2.split(img_cv_method)#    将图像RGB三个通道分离
cv2.imshow('figure_1', img)
cv2.imshow('figure_2', img_cv_method)
"""分别显示图像的三个通道图片"""
cv2.imshow('figure_3', R)
cv2.imshow('figure_4', G)
cv2.imshow('figure_5', B)
cv2.waitKey(0)
figure_1

figure_2

figure_3

figure_4

figure_5



版权声明:本文为kuwola原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。