如题啊,opencv读取灰度图单通道图像时候,读取进来的是三通道, 原因在于opencv对于省缺图册进行复制, 因此读取的三通道。之前一直没有注意,不过针对这种情况, 可以选择在读入imread时候,路径后面参数置为0,再或者你cvtcolor一下,也能生成单通道图像。
这里就不给小小例子了, 直接就
cv::Mat img = cv::imread("D://test.png", 0);
or
cv::Mat img = cv::imread("D://test.png", 0);
cv::cvtColor(img, img, cv::COLOR_BGR2GRAY)