这里的数字图像处理代码仅供学习,不适于生产环境。代码分为 C++11 和 Python 编写的两部分。其中 jpeg.h 和 jpeg.cc 两个文件所包含的代码可以解析 JPEG 格式文件,transform.h 和 transform.cc 两个文件所包含的代码可以对图像进行一些变换操作。这些C++ 代码用 Swig编译成库,给 Python 调用。Python 部分主要是方便调试和图片显示,涉及算法的代码都用 C++ 编写。目前很多地方有待完善,欢迎补充算法代码和文档注释。
-
依赖
-
编译C++代码,生成可供Python调用的动态链接库(_jpeg.so或_jpeg.pyd)
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE .
(请注意命令最后有英文句号。如果在UNIX或Linux平台上直接输入这个命令即可。如果是在windows平台上使用MinGW GCC编译,则应输入cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=RELEASE .
如果用VisualStudio请参照CMake文档或输入cmake --help
查看帮助。)
make
cd ..
-
样例在sample/目录下
-
运行样例需要
- 前面编译好的动态链接库_jpeg.so或_jpeg.pyd
- Python3
- NumPy Python库,用于线性代数运算
- Pillow Python库,用于图像处理
- Matplotlib Python库,用于绘制图表
-
样例的运行(这里以运行jpeg_decode.py为例)
cd sample
python3 jpeg_decode.py
- 程序在app/目录下
- 截图
- 运行程序需要
- 前面编译好的动态链接库_jpeg.so或_jpeg.pyd
- Python3
- NumPy Python库,用于线性代数运算
- WxPython Python库,是WxWidgets的Python版本,用于制作图形界面
- PyTorch >= 0.4.1 Python库,用于搭建神经网络
- 程序的运行
cd app
python3 main.py