简述
通常我们将彩色图像灰化、二值化后,图像变成灰色图像(单通道图像),这时如果直接在单通道图上绘制彩色标识时,只会出现黑色或者白色标识,这点是毋容置疑的。但是如果我们想要调试,在这张图上绘制出彩色标识,只需要做一个小转化就可以了。
方法
肯定是将单通道图像转化为三通道图像。举例:单通道图是CV_8UC1类型图像。我们需要创建一个CV_8UC3的三通道图,接收单通道图的数据!
//m_maskImg为单通道灰度图像,maskContour为连通域点
Mat resultImg = m_maskImg.clone();
Mat m_resultImg = Mat(resultImg.rows, resultImg.cols, CV_8UC3);
cvtColor(resultImg, m_resultImg, CV_GRAY2BGR);
int len = maskContour.size();
for (int m = 0;m<len; m++)
{
circle(m_resultImg, maskContour[m], 2, Scalar(0, 0, 255), 5);
}
imshow("m_resultImg",m_resultImg);
这样就完成所有操作了,方便调试!