C++ 为什么我的过滤图像(应该是二进制的)仍然包含彩色部分?(C+;+;中的OpenCV)

C++ 为什么我的过滤图像(应该是二进制的)仍然包含彩色部分?(C+;+;中的OpenCV),c++,opencv,C++,Opencv,我对两幅图像进行了比较,并将结果与“标准”图像进行了比较。通过使用命令threshold,值低于0的像素应为黑色,而值为正值的像素应为白色。然而,经过处理后的图像仍然包含彩色像素,如红色、黄色等 threshold(Initial, Final, 0, 255, THRESH_BINARY); 我没能找出彩色像素的来源,有人有什么想法吗?非常感谢。您是先对图像进行灰度处理的吗?如果你没有,一旦你对图像进行二值化,你就会在图像中看到各种各样的RGB颜色 // C IplImage *im_rgb

我对两幅图像进行了比较,并将结果与“标准”图像进行了比较。通过使用命令threshold,值低于0的像素应为黑色,而值为正值的像素应为白色。然而,经过处理后的图像仍然包含彩色像素,如红色、黄色等

threshold(Initial, Final, 0, 255, THRESH_BINARY);

我没能找出彩色像素的来源,有人有什么想法吗?非常感谢。

您是先对图像进行灰度处理的吗?如果你没有,一旦你对图像进行二值化,你就会在图像中看到各种各样的RGB颜色

// C
IplImage *im_rgb  = cvLoadImage("image.jpg");
IplImage *im_gray = cvCreateImage(cvGetSize(im_rgb),IPL_DEPTH_8U,1);
cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY);

// C++
Mat im_rgb  = imread("image.jpg");
Mat im_gray;
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);

据我所知,您必须将其转换为灰度,然后对其进行二值化,以获得黑白像素。

您是先对图像进行灰度化的吗?如果你没有,一旦你对图像进行二值化,你就会在图像中看到各种各样的RGB颜色

// C
IplImage *im_rgb  = cvLoadImage("image.jpg");
IplImage *im_gray = cvCreateImage(cvGetSize(im_rgb),IPL_DEPTH_8U,1);
cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY);

// C++
Mat im_rgb  = imread("image.jpg");
Mat im_gray;
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);

据我所知,您必须将其转换为灰度,然后对其进行二值化,以获得黑白像素。

您是先对图像进行灰度化的吗?如果你没有,一旦你对图像进行二值化,你就会在图像中看到各种各样的RGB颜色

// C
IplImage *im_rgb  = cvLoadImage("image.jpg");
IplImage *im_gray = cvCreateImage(cvGetSize(im_rgb),IPL_DEPTH_8U,1);
cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY);

// C++
Mat im_rgb  = imread("image.jpg");
Mat im_gray;
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);

据我所知,您必须将其转换为灰度,然后对其进行二值化,以获得黑白像素。

您是先对图像进行灰度化的吗?如果你没有,一旦你对图像进行二值化,你就会在图像中看到各种各样的RGB颜色

// C
IplImage *im_rgb  = cvLoadImage("image.jpg");
IplImage *im_gray = cvCreateImage(cvGetSize(im_rgb),IPL_DEPTH_8U,1);
cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY);

// C++
Mat im_rgb  = imread("image.jpg");
Mat im_gray;
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);
据我所知,您必须将其转换为灰度,然后对其进行二值化,以获得黑白像素。

根据

该函数将固定级别阈值应用于单通道阵列

因此,您需要首先将图像转换为灰度,以便根据

该函数将固定级别阈值应用于单通道阵列

因此,您需要首先将图像转换为灰度,以便根据

该函数将固定级别阈值应用于单通道阵列

因此,您需要首先将图像转换为灰度,以便根据

该函数将固定级别阈值应用于单通道阵列

因此,您需要先将图像转换为灰度,以获得准确的转换