码迷,mamicode.com
首页 > 其他好文 > 详细

图像色彩空间转换

时间:2020-04-25 17:01:38      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:不同   保存   test   code   统一   ret   read   art   waitkey   

1.图像色彩空间

色彩是如何表现出来的? 图像色彩空间

  • 不同的硬件设备显示图像的方式不一样,所以形成了不同的色彩空间

  • 众多色彩空间中存在一种与设备无关的色彩空间,即RGB色彩空间 (最常用)opencv中的imwrite()默认读取的图片就是使用RGB色彩空间进行读取的,这样在任何设备上都可以正常的显示图像。Android相机设备拍出的图片就是YUV格式的,但是最终底层保存的是RGB格式,就是为了能够显示在不同的设备里面。相机所支持的色彩空间与其设备有很大联系

  • 色彩空间一般最终都会统一到RGB的色彩空间

2.opencv 中一些色彩空间的函数

  • 色彩空间转换函数- cvtColor

    • COLOR_BGR2GRAY = 6 彩色到灰度

    • COLOR_GRAY2BGR = 8 灰度到彩色

    • COLOR_BGR2HSV = 40 BGR到HSV

    • COLOR_HSV2BGR = 54 HSV到 BGR

  • 图像保存 - imwrite

    • 第一个参数是图像保存路径

    • 第二个参数是图像内存对象

3. 例子

C++

 1 #include <opencv2/opencv.hpp>
 2 #include <iostream>
 3 
 4 using namespace cv;
 5 using namespace std;
 6 
 7 int main(int artc, char** argv) {
 8     Mat src = imread("test.png");
 9     if (src.empty()) {
10         printf("could not load image...\n");
11         return -1;
12     }
13     namedWindow("input", WINDOW_AUTOSIZE);
14     imshow("input", src);
15 
16     Mat gray;
17     cvtColor(src, gray, COLOR_BGR2GRAY);
18     imwrite("D:/gray.png", gray);
19 
20     waitKey(0);
21     return 0;
22 }

 

Python

1 import cv2 as cv
2 
3 src = cv.imread("test.png")
4 cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
5 cv.imshow("input", src)
6 gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
7 cv.imshow("gray", gray)
8 cv.waitKey(0)
9 cv.destroyAllWindows()

 

 

图像色彩空间转换

标签:不同   保存   test   code   统一   ret   read   art   waitkey   

原文地址:https://www.cnblogs.com/zhaobinyouth/p/12773552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!