OpenCV模块中有数百种关于在不同色彩空间之间转换的方法。使用OpenCV模块转换图片灰度可以转换成灰度的图片的计算强度得以降低。本文介绍python转换图片灰度的方法。
一、计算机视觉中有三种常用的色彩空间
灰度、BGR、以及 HSV(Hue,Saturation,Value)。
1、灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理 特别有效,比如人脸识别。
2、BGR 及蓝、绿、红色彩空间,每一个像素点都由一个三元数组来表示,分别代表 蓝、绿、红三种颜色。网页开发者可能熟悉另一个与之相似的颜色空间:RGB 它们只是颜 色顺序上不同。
3、HSV,H(Hue)是色调,S(Saturation)是饱和度,V(Value)表示黑暗的程度 (或光谱另一端的明亮程度)。
二、灰度转换的作用就是:转换成灰度的图片的计算强度得以降低。
1、将图片灰度转换
import cv2 as cv
2、读取图片
img = cv.imread('0.jpg')
3、显示图片
cv.imshow('BGR_img', img)
4、将图片进行灰度转换
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY) cv.imshow('gray_img', gray_img)
5、保存图片
cv.imwrite('gray_1.jpg', gray_img) # 等待键盘输入,解决一闪而过 单位毫秒 传入0则是等待 cv.waitKey(0) # 释放内存,由于OpenCv底层是C++写的 cv.destroyAllWindows()