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方法)。