C++图像处理库

use*_*668 17 c++ image-processing

我正在寻找一个用于图像处理的C++库.我需要图书馆来限制PPM照片(彩色照片).我应该写自己的代码吗?你们有什么感想?

Rei*_*ica 12

Magick ++可能有所帮助.它是ImageMagick的库版本.


Cos*_*ert 11

您可以使用Boost GIL库.它非常强大和多功能,可能真的适合您的所有需求(嗯,是的,它的提升:).

  • 请更新 [Boost GIL](https://www.boost.org/doc/libs/master/libs/gil/doc/html/index.html) 的链接。所以它总是指向当前版本。 (2认同)

Cha*_*tha 10

以上所有选项都应该能够满足您的要求.

我想将OpenCV添加到列表中.它是一个快速的跨平台计算机视觉库,具有广泛的图像加载,保存和处理支持.它是用C语言编写的,但它有一个坚实的C++接口,我以前用过它.

话虽如此:读/写PPM是直截了当的,所以如果你需要的只是阅读和阈值,你一定要考虑自己做.它可以归结为将PPM字节读入内存,通过平均RGB颜色通道进行灰度校正(请注意,RGB通道的平均值是一个,非常简单,灰度等级的方法;还有更多),然后进行阈值处理和写入.


Erm*_*mIg 8

SIMD库的是一个免费的开源图像处理库,设计用于C和C++程序员.它为图像处理提供了许多有用的高性能算法,例如:像素格式转换,图像缩放和过滤,从图像中提取统计信息,运动检测,物体检测(HAAR和LBP分类器级联)和分类,神经网络.

使用不同的SIMD CPU扩展优化算法.特别是该库支持以下CPU扩展:用于x86/x64的SSE,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,AVX,AVX2和AVX-512,用于PowerPC,NEON的VMX(Altivec)和VSX(Power7)对于ARM.

Simd库具有C API,还包含有用的C++类和函数,以便于访问C API.该库支持动态和静态链接,32位和64位Windows和Linux,MSVS,G ++和Clang编译器,MSVS项目和CMake构建系统.

PS我参与了这个项目的开发.

  • @rupinderjeet当然,Simd Library允许这样做:Simd :: Copy(a,c.Region(0,0,500,500).Ref()); Simd :: Copy(b,c.Region(0,500,1000,500).Ref()); (3认同)

小智 5

CImg库也是一个流行的选择。它非常易于使用,轻巧,并且已经实现了许多基本和高级图像处理操作程序。