CXImage在CentOS中的使用技巧
在CentOS中使用CXImage前,需先安装编译及运行所需的依赖库,避免后续步骤出错。常用命令如下:
sudo yum groupinstall "Development Tools" # 安装gcc、make等基础编译工具
sudo yum install cmake # 安装CMake(用于生成Makefile)
sudo yum install libpng-devel libjpeg-devel libtiff-devel zlib-devel # 安装图像格式支持库
https://github.com/DavidePizzolato/CxImage)克隆最新版本源码:git clone https://github.com/DavidePizzolato/CxImage.git
cd CxImage
mkdir build && cd build
cmake .. # 可通过-DCMAKE_INSTALL_PREFIX指定自定义安装路径(如/usr/local/cximage)
make
sudo make install
默认情况下,CXImage的头文件会安装到/usr/local/include,库文件安装到/usr/local/lib。在C++项目中使用CXImage,需正确配置头文件路径与库文件依赖:
#include "ximage.h"
-lcximage -ljpeg -lpng -ltiff -lzlib)。例如:g++ your_program.cpp -o output -I/usr/local/include -L/usr/local/lib -lcximage -ljpeg -lpng -ltiff -lzlib
/usr/local/lib添加到系统库搜索路径,可通过修改~/.bashrc文件添加:export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
source ~/.bashrc # 使配置生效
Load方法加载图像(指定文件路径与格式),Save方法保存为指定格式:CxImage image;
if (!image.Load("input.jpg", CXIMAGE_FORMAT_JPG)) {
std::cerr << "加载图像失败!" << std::endl;
return -1;
}
if (!image.Save("output.png", CXIMAGE_FORMAT_PNG)) {
std::cerr << "保存图像失败!" << std::endl;
return -1;
}
Resample方法调整图像分辨率(保持宽高比或指定具体尺寸):image.Resample(800, 600); // 缩放至800x600(自动调整高度保持比例)
Rotate方法旋转图像(指定角度,如90度):image.Rotate(90); // 顺时针旋转90度
GrayScale(灰度化)、AdjustBrightness(调整亮度)、AdjustContrast(调整对比度)等方法优化图像:image.GrayScale(); // 转换为灰度图像
image.AdjustBrightness(20); // 增加亮度20
image.AdjustContrast(1.2); // 提高对比度至1.2倍
libjpeg或libpng等库,需重新安装对应开发包(如sudo yum install libjpeg-devel)。error while loading shared libraries,需检查LD_LIBRARY_PATH是否包含CXImage库路径(如/usr/local/lib)。Valgrind工具检测内存泄漏(如valgrind --leak-check=full ./your_program),确保所有CxImage对象在使用后正确释放(如调用Destroy方法)。