OpenCV 中的 cv::split
函数是一个图像分割函数,它可以将一幅图像分割成多个通道。该函数的原型如下:
void cv::split(const cv::Mat& src, cv::Mat* channels);
其中,src
是要分割的图像,channels
是一个指向 cv::Mat
数组的指针,该数组用于存储分割后的各个通道。
例如,下面的代码将一幅彩色图像分割成三个通道:
cv::Mat image = cv::imread("image.jpg");
cv::Mat channels[3];
cv::split(image, channels);
// 访问各个通道
cout << "Blue channel: " << channels[0] << endl;
cout << "Green channel: " << channels[1] << endl;
cout << "Red channel: " << channels[2] << endl;
需要注意的是,cv::split
函数只是将图像分割成多个通道,而不会改变原始图像。因此,如果需要对图像进行分割,应该先将图像复制到一个新的矩阵中,然后再使用 cv::split
函数进行分割。