需要用到的代码:
import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread(src,0)
cv.imshow("img", img)
cv.waitKey(0)
cv.imread()
使用imread(‘图片地址’,flag) 可以直接将彩色图片显示为灰度图。
- flags = -1:imread按解码得到的方式读入图像
- flags = 0:imread按单通道的方式读入图像,即灰白图像
- flags = 1:imread按三通道方式读入图像,即彩色图像
cv.cvtColor
使用cv.cvtColor(变量名,cv.COLOR_BGR2GRAY)
分离rbg分别获得灰度图
补充一个有趣的东西: opencv-python是用bgr三通道处理图像的,而matlibplot是用rgb。
b, g, r = cv.split(img) 将图片三通道分离,获得其bgr三个分值img_rgb = cv.merge([r, g, b]) :将其合并为rbg
这样显示出来的就如上图,颜色不正常。
但是如果你用matplotlib显示图片,rgb就是正常色,而cv读入的bgr颜色就不正常。
|