我想读取我拥有的图像中每个像素的内容,并将其转换为比特流(原始比特)或将其包含在2-D数组中。哪个是开始寻找这种转换的最佳位置?
图像的细节:称为lena.bmp的标准测试图像 尺寸:256 x 256 像素的位深度:8
此外,我想知道每个像素的位数对于这个问题的重要性,因为包装和拆包也将被合并。
答案 0 :(得分:3)
CImg是一个很好的简单,轻量级的C ++库,可以加载和保存多种图像格式(包括BMP)。
这是一个单独的头文件,因此无需编译或链接库。只需包含标题,就可以了。
答案 1 :(得分:2)
您应该调查OpenCV:一个跨平台的计算机视觉库。它提供 C ++ API 以及 C API ,并且支持许多图像格式,包括 bmp 。
在C ++界面中,cv::Mat
是表示2D图像的类型。一个加载和显示图像的简单应用程序can be found here。
要了解如何访问矩阵元素(像素),您可以检查这些线程:
OpenCV’s C++ interface简要介绍了cv::Mat
。 Stackoverflow上有很多关于OpenCV的帖子,周围有很多有价值的内容,你可以通过搜索框获得很多好处。
This page有一系列专注于OpenCV的书籍/教程/安装指南,但this the newest official tutorial。