我需要一张 8 BPP(每像素位数)的图像来学习使用 tensorflow 进行图像分割。
下面是我的简短代码。
Mat Image;
Image = imread("Input.png",IMREAD_UNCHANGED);
** image synthesis process **
imwrite("C:\\Output.png", Image);
如果你对我的完整源代码感到好奇,你可以看看我之前问的内容。
如果我在这个状态下查看图像输出的bpp,是24。
我该怎么办?
供您引用,我已尝试进行 CV_8UC1 之类的更正,但似乎效果不佳。
最佳答案
您可能正在读取彩色图像,其中每个像素的红色、绿色和蓝色分量有三个字节。
如果您只需要 8 位图像,则可以使用单一颜色分量。
如果您需要以一种合理的方式对输入图像进行操作,convert it to grayscale第一:
cvtColor(src, bwsrc, cv::COLOR_RGB2GRAY);
关于c++ - 如何使用 OpenCV 降低图像的每像素位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54823183/