温馨提示×

debian下cximage如何调用

小樊
40
2026-09-23 15:12:34
栏目: 智能运维

Debian 下使用 CxImage(一个 C++ 图像处理库),通常有两种方式:

  1. 直接把 CxImage 源码加入你的工程编译
  2. 编译成静态库 / 动态库后调用

下面我按“从零到调用”的方式说明。


一、获取 CxImage 源码

CxImage 官方较老,常见版本如 cximage702 / cximage600

sudo apt update
sudo apt install -y build-essential git unzip

下载示例(以 cximage702 为例):

git clone https://github.com/ata4/cximage.git
cd cximage

或手动下载 zip 后解压。


二、编译 CxImage(推荐方式)

1. 编译为静态库

cd cximage
make

编译完成后一般会在:

lib/
  libcximage.a

如果没有 Makefile,可手动编译:

g++ -c *.cpp -I.
ar rcs libcximage.a *.o

三、在你的项目中调用 CxImage

1. 简单示例代码(test.cpp)

#include "ximage.h"
#include <iostream>

int main() {
    CxImage image;
    if (image.Load("test.jpg", CXIMAGE_FORMAT_JPG)) {
        std::cout << "Width: " << image.GetWidth() << std::endl;
        std::cout << "Height: " << image.GetHeight() << std::endl;
        image.Save("out.png", CXIMAGE_FORMAT_PNG);
    } else {
        std::cerr << "Load failed" << std::endl;
    }
    return 0;
}

2. 编译命令

假设:

  • CxImage 源码在 ~/cximage
  • 库文件 libcximage.a
g++ test.cpp -I~/cximage \
    -L~/cximage -lcximage \
    -lpthread -ljpeg -lpng -lz -o test

Debian 需安装依赖:

sudo apt install -y libjpeg-dev libpng-dev zlib1g-dev

四、常见问题

1. 找不到头文件

确保:

#include "ximage.h"

并且 -I 指向 CxImage 根目录。


2. 链接错误(undefined reference)

一般是:

  • 没加 -lcximage
  • 顺序问题(库放最后)

3. 只支持部分格式

CxImage 默认支持:

  • BMP / JPG / PNG / TIF / GIF

特殊格式(如 WebP)需额外开启宏。


五、是否推荐现在用 CxImage?

⚠️ 说明:

  • CxImage 已多年未更新
  • 在 Linux 下不如 OpenCV / ImageMagick / FreeImage 方便

如果你是:

  • ✅ 维护老项目 → 按上面方式用
  • ✅ 新项目 → 推荐 OpenCV

如果你愿意,可以告诉我:

  • Debian 版本(如 11 / 12)
  • 是否必须用 CxImage
  • 用在什么场景(图像读取 / 转换 / 处理)

我可以给你最小可运行示例CMake 配置

0