OpenCV 空二进制图像 C++
OpenCV Empty Binary Image C++
我想在 OpenCV 中创建一个二进制图像,其中所有值都初始化为 0。我希望它的尺寸为 2000x800。
到目前为止我有:
Mat canvas(2000, 800, 1)
但我希望每个像素的值只能是零或一。
此致。
从its documentation开始,您可以声明:
Mat canvas(2000, 800, 1, Scalar(0));
初始化并用 0 填充 canvas。
OpenCV 不支持位域,即深度为 1 位的 Mat。这是有道理的;对位域的操作明显较慢,因为位不是硬件的固有操作类型。因此,Getpixel 和 setpixel 需要额外的操作。
Mat canvas = Mat::zeros(800,600,CV_8UC1);
将创建深度为 8 位的零初始化图像;将浪费 7 位。
我想在 OpenCV 中创建一个二进制图像,其中所有值都初始化为 0。我希望它的尺寸为 2000x800。
到目前为止我有:
Mat canvas(2000, 800, 1)
但我希望每个像素的值只能是零或一。
此致。
从its documentation开始,您可以声明:
Mat canvas(2000, 800, 1, Scalar(0));
初始化并用 0 填充 canvas。
OpenCV 不支持位域,即深度为 1 位的 Mat。这是有道理的;对位域的操作明显较慢,因为位不是硬件的固有操作类型。因此,Getpixel 和 setpixel 需要额外的操作。
Mat canvas = Mat::zeros(800,600,CV_8UC1);
将创建深度为 8 位的零初始化图像;将浪费 7 位。