这段代码首先创建了一个400行600列的单通道灰度图像。然后,它遍历图像中的每个像素。如果像素位于列索引为30的列中,则将该像素的值设置为255。在灰度图像中,0表示黑色,255表示白色。因此,这段代码将图像的第30列设置为白色。
在 OpenCV 中,cv::Mat
构造函数的调用 cv::Mat(400, 600, CV_8UC1);
创建了一个400行(高)x 600列(宽)的单通道(灰度)图像。这个图像的每个像素都是8位无符号整数,其取值范围为0-255。
代码中没有为 cv::Mat
对象的像素指定任何特定的值,这意味着它们的值将是未初始化的。在许多环境下,这通常会导致像素值默认为0。
在灰度图像中,值0对应于颜色黑色。因此,如果所有像素的值都被设为0(或者由于未初始化而默认为0),那么生成的图像将是全黑的。
然后,它将图像显示在一个名为 “creat_image” 的窗口中,并等待用户按任意键关闭窗口。接着,它将图像写入一个名为 “…/gray.png” 的文件。
最后,它打印了关于图像的一些信息:
rows
和cols
表示图像的行数和列数(也就是图像的高度和宽度)。dims
是图像的维数。对于一个常规的2D图像,dims
是2。