OpnenCV读取的颜色空间是 BGR 一般情况都需要转化为RGB
可以通过OpenCV颜色空间转换函数
void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 )
简单 BGR转RGB 已经转为灰度图示例
其他HSV RGBA用的比较少 都可以通过这个函数进行转换
//
// Created by smallflyfly on 2021/6/9.
//
#include "opencv2/highgui.hpp"
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int main() {
VideoCapture cap(0);
if (!cap.isOpened()) {
cout << "read camera error!" << endl;
return -1;
}
Mat frame;
cap >> frame;
cap.release();
Mat gray, rgb;
cvtColor(frame, gray, CV_BGR2GRAY);
cvtColor(frame, rgb, CV_BGR2RGB);
imshow("bgr", frame);
imshow("gray", gray);
imshow("rgb", rgb);
waitKey(0);
destroyAllWindows();
return 0;
}