Python + openCV获取灰度图的三种方式

需要用到的代码:

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按三通道方式读入图像,即彩色图像
    Python + openCV获取灰度图的三种方式
    Python + openCV获取灰度图的三种方式
    Python + openCV获取灰度图的三种方式

; cv.cvtColor

使用 cv.cvtColor(变量名,cv.COLOR_BGR2GRAY)

Python + openCV获取灰度图的三种方式

分离rbg分别获得灰度图

Python + openCV获取灰度图的三种方式
Python + openCV获取灰度图的三种方式
Python + openCV获取灰度图的三种方式
Python + openCV获取灰度图的三种方式

补充一个有趣的东西:
opencv-python是用bgr三通道处理图像的,而matlibplot是用rgb。

Python + openCV获取灰度图的三种方式
  • b, g, r = cv.split(img)将图片三通道分离,获得其bgr三个分值
  • img_rgb = cv.merge([r, g, b]):将其合并为rbg

这样显示出来的就如上图,颜色不正常。

但是如果你用matplotlib显示图片,rgb就是正常色,而cv读入的bgr颜色就不正常。

Python + openCV获取灰度图的三种方式
Python + openCV获取灰度图的三种方式
Python + openCV获取灰度图的三种方式

Original: https://blog.csdn.net/qq_36667170/article/details/120556105
Author: LolitaAnn
Title: Python + openCV获取灰度图的三种方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/702009/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球