在可能的情况下,可以使用CV_8U,CV_16U,CV_32F作为是RGB通道的图像的输入,必须指定转换的格式,例如:RGB转换成HSV颜色空间,就是使用CV_RGB2HSV,如果是从BGR转换成灰度图,就是CV_BGR2GRAY,此外,请注意,并不是所以的色彩空间都可以互相转换的。
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
int
main(int argc, char *argv[])
{
cv::Mat bgr_img= cv::imread("../../image/lenna.png",1);
if(bgr_img.empty()) return -1;
cv::Mat dst_img;
// BGR -> HSV
cv::cvtColor(bgr_img, dst_img, CV_BGR2HSV);
// ... 何らかの処理
// BGR -> Lab
cv::cvtColor(bgr_img, dst_img, CV_BGR2Lab);
// ... 何らかの処理
// BGR -> YCrCb
cv::cvtColor(bgr_img, dst_img, CV_BGR2YCrCb);
// ... 何らかの処理
}
本文介绍如何使用OpenCV进行不同色彩空间的转换,包括BGR到HSV、Lab及YCrCb等,并提供了具体的代码示例。
5045

被折叠的 条评论
为什么被折叠?



