【C++】OpenCV4-颜色空间的转换

发布时间 2024-01-07 17:54:14作者: wshidaboss
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
  Mat img = imread("C:/img/3.jpg");
  Mat img32;

  img.convertTo(img32, CV_32F, 1 / 255.0, 0);

  Mat HSV, HSV32;

  cvtColor(img, HSV, COLOR_BGR2HSV);
  cvtColor(img32, HSV32, COLOR_BGR2HSV);

  Mat gray0, gray1;
  cvtColor(img, gray0, COLOR_BGR2GRAY); //BGR和RGB的区别
  cvtColor(img, gray1, COLOR_RGB2GRAY);

  return 0;
}

通过查看Image Watch我们可以发现:用BGR存储的图像颜色更亮。HSV里存储的像素取值在0-255之间,而HSV32里存储的值在0-1之间。