在可能的情况下,可以使用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);
// ... 何らかの処理
}