图像处理与c++

Image processing with C++

本文关键字:c++ 图像处理      更新时间:2023-10-16

我有一个大学作业,我需要做基本的图像处理,如打开图像,重新采样,缩放和一些基于像素连接的操作。

是否有任何库使事情更容易,如jpg查看和启用像素级访问?如果是的话,OpenCV会是一个很好的选择吗?我应该使用哪些库?

(我不想直接调用库方法来完成它们,因为这个赋值需要手工完成)

提前感谢。

我建议您使用ImageMagick将您的图像转换为PBM/PGM或PNM格式(如此处所述),然后您可以轻松地在c++中读取图像并以相同的非常简单的格式(即

)将它们写出来
P1 (or P2-P6)
width height (in ASCII text)
pixel pixel pixel pixel ...
pixel pixel pixel pixel ...

这样你就可以专注于图像处理和像素连接,而不是担心运行长度编码,调色板或JPEG dct等。

将JPEG转换为PNM只需使用ImageMagick的convert工具

convert image.jpg image.pnm

或TIF到PPM

convert image.tif image.ppm

如果你想要NetPBM格式P1-P3有ASCII像素数据而不是二进制,使用选项-compression none与ImageMagick的convert命令,即

convert image.jpg -compresssion none image.pnm

而如果您想要NetPBM格式P4-P6,使用二进制像素数据,请省略-compression none参数:

convert image.jpg image.pnm