OpenCV之图像色彩空间转换

  1. 图像色彩空间转换
import cv2 as cv

def color_space_demo():#定义一个色彩空间
    # 这段代码是使用OpenCV库中的imread函数来读取名为8547023.jpg的图像文件,
    # 并将其存储在变量image中。路径"D:\8547023.jpg"是图像文件的完整路径。
    image = cv.imread("D:\8547023.jpg")

    #这行代码是用来将彩色图像转换为灰度图像。
    # cv.cvtColor函数是OpenCV库中的一个函数,它可以用来进行图像的颜色空间转换。
    # 其中,image是原始彩色图像,cv.COLOR_BGR2GRAY表示将图像从BGR颜色空间转换为灰度颜色空间。
    # 转换后的灰度图像保存在gray变量中。
    gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY)
    
    #这行代码是使用OpenCV库中的cvtColor函数将BGR颜色空间的图像转换为HSV颜色空间的图像。
    # HSV颜色空间由三个分量组成:色调(H),饱和度(S),明度(V)。
    # 将图像转换为HSV颜色空间可以更方便地进行颜色分析和处理。
    hsv=cv.cvtColor(image,cv.COLOR_BGR2HSV)

    # `cv.imshow("landscape",image)` 是用于在窗口中显示图像的OpenCV函数。
    # 其中`"landscape""gray""hsv"`是窗口的名称,可以自定义,`image`是要显示的图像。
    cv.imshow("landscape", image)
    cv.imshow("gray", gray)
    cv.imshow("hsv", hsv)

    # cv.waitKey(0)是OpenCV中的一个函数,意思是等待键盘输入,
    # 参数0表示等待无限长的时间,直到有键盘输入为止。
    # 这个函数通常在图像显示的时候使用,可以让图像窗口持续显示,直到按下键盘上的任意键才会关闭窗口。
    cv.waitKey(0)

    # cv.destroyAllWindows()是OpenCV库中的一个函数,用于关闭所有已经创建的窗口。
    # 当我们使用OpenCV创建了一个或多个窗口来显示图像或视频时,这些窗口会一直保持打开状态,
    # 直到我们手动关闭它们。如果我们想要一次性关闭所有窗口,可以使用cv.destroyAllWindows()函数来实现。
    # 这个函数会将所有已经创建的窗口关闭,释放内存资源。
    cv.destroyAllWindows()

#这段代码的意思是,如果当前模块是被直接执行而不是被导入的,那么就执行`read_demo()`函数。
if __name__ == "__main__":
    color_space_demo()

2.运行结果如下图所示:
在这里插入图片描述
3.其他色度空间转化

 rgb=cv.cvtColor(image,cv.COLOR_BGR2RGB)

BGR和RGB是两种颜色编码系统。
RGB是红、绿、蓝三原色的组合,是最常见的颜色模型。在RGB模型中,每个像素由三个分量表示,分别是红(R)、绿(G)和蓝(B)。每个分量的取值范围是0到255,表示颜色的亮度。通过调整三个分量的取值,可以获得不同的颜色。
BGR是RGB的一种变体,其顺序正好相反。在BGR模型中,每个像素的三个分量分别表示蓝(B)、绿(G)和红(R)。虽然BGR模型并不常见,但在一些特定的上下文中,如计算机图形学和图像处理中,可能使用BGR编码。
总的来说,BGR与RGB的区别在于颜色分量的顺序,RGB是红、绿、蓝,而BGR是蓝、绿、红。

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值