我有一个大学作业,我需要进行基本的图像处理,例如打开图像,重新采样,缩放和一些基于像素连接的操作。
是否有任何库可以让事情变得更容易,例如jpg查看和启用像素级访问? OpenCV是一个不错的选择,如果是这样,我应该使用哪些库?
(我不想直接调用库方法来执行它们,因为这个赋值需要手动完成一些)
提前谢谢。
答案 0 :(得分:2)
我建议您使用ImageMagick将图像转换为PBM / PGM或PNM格式(如here所述),然后您可以使用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
如果您想要具有ASCII像素数据而非二进制的NetPBM格式P1-P3,请使用带有ImageMagick -compression none
命令的convert
选项,即
convert image.jpg -compresssion none image.pnm
如果您想要使用二进制像素数据的NetPBM格式P4-P6,请不要使用-compression none
参数:
convert image.jpg image.pnm