使用 libpng 提取像素值
Extract pixel value with libpng
我有一个正方形(1024x1024)8位灰度图像,我试图将其用作"风景"(这是一个洪流高度模型),我所做的只是得到类似的东西
byte = pngimg.at(x, y)
我一直在搜索libpng的页面并在谷歌上搜索,但没有任何结果。在Java中,它就像缓冲图像一样简单。PNG 的C++等效值在哪里?
C++不支持
STL 中的图像类型,因此您必须依靠一些外部库来读取像素。我曾经使用OpenCV库来做这件事,它是函数读取。最近我在 C++11 中创建了一个非常简单的库,用于加载 PNG 中的图像,它仅依赖于 libPNG(和 STL)。从 PNG 加载像素数据的代码位于 github 存储库中。它从矢量中获取二进制数据,并使用像素矢量创建缓冲区。
一个注意事项 - 如果您使用的是 libPNG,您必须记住使用 png_destroy_read_struct 释放 libPNG 资源。当我忘记它时,我遇到了一些内存泄漏问题。
相关文章:
- 如何在不产生任何垃圾的情况下获得C中的像素
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 如何在24位SDL_Surface上设置像素的颜色
- 如何从SDL_Surface获取特定像素的颜色
- 如何将CMSampleBufferRef/CIImage/UIImage转换为像素,例如uint8_t[]
- 在C++中查找像素 RGB 数据的最快方法是什么?
- 是否可以从 OpenGL 缓冲区获取原始大小的像素?
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 如何使用 sdl2 快速绘制像素网格?
- 如何在C++中进行像素操作? - Linux
- 他们如何将红外锁定像素转换为镜头前方 1m 的正常平面上的位置
- 访问随机图像像素的快速方法,最多一次
- OpenCV 像素访问点与 at() - 不同的值
- 如何使用 freetype2 访问单色位图中的像素状态
- 尝试渲染像素坐标时,简单线条渲染失败
- 如何从C 中的CV :: MAT图像中有效提取某些像素
- 提取肮脏的RGB像素缓冲区数据Directx
- 如何从窗口中获取像素数据像素缓冲区并提取RGB
- 使用 libpng 提取像素值
- 如何使用c++从png文件中提取像素