📅  最后修改于: 2023-12-03 14:59:31.056000             🧑  作者: Mango
在计算机视觉中,图像处理通常需要将 BGR(蓝、绿、红)格式的彩色图像转换为灰度图像。在 OpenCV 中,可以通过以下代码将彩色图像转换为灰度图像:
import cv2
img_color = cv2.imread('image.jpg', cv2.IMREAD_COLOR)
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
cv2.imshow('Color image', img_color)
cv2.imshow('Gray image', img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
此代码首先使用 cv2.imread()
函数读取图像文件,将其存储为彩色图像。接下来,使用 cv2.cvtColor()
函数将彩色图像转换为灰度图像。该函数需要两个参数:要转换的图像和目标颜色空间。在这个例子中,我们将输入图像从 BGR 颜色空间转换为灰度颜色空间,使用 cv2.COLOR_BGR2GRAY
常量。
最后,使用 cv2.imshow()
函数显示原始彩色图像和转换后的灰度图像,并在用户按下任意键时通过 cv2.waitKey()
函数等待输入。使用 cv2.destroyAllWindows()
函数关闭所有打开的窗口。
以上是 BGR 到灰色的转换,更多常用的颜色空间转换,可以在OpenCV的官方文档中找到。