我使用CImg进行图像处理工作 . 我目前只使用Gray Scale JPG,BMP,TIFF图像 . CImg功能面临的问题如下:
CImg以下列方式存储Pixel值 . R1R2R3R4 ............ G1G2G3G4 ......... ......... B1B2B3B4
即使对于灰度图像,也会分别创建3个不同的通道 . 这使我的工作变得非常复杂 . 只是为了将值从一个图像复制到另一个图像,我需要复制像素的所有组件 . 我需要遍历所有使我的算法变慢的通道 .
因为我只使用灰度图像,所以无论是单通道还是多通道都无关紧要 . 有没有办法将3通道图像转换为单通道CImg . 请尽快告诉我 .
谢谢大家
2 回答
使用
CImg::channel(int c)
函数:http://cimg.sourceforge.net/reference/structcimg__library_1_1CImg.html#a83af84298188d07c59c49dd0ed4d2714
如果您只对单通道图像感兴趣,您可以将它们保存为单通道
PGM
图像, CImg 可以直接读取和写入,而无需任何其他库:您可以稍后将
PGM
文件(Wikipedia description of PGM)转换为JPEG
,或PNG
,或TIFF
与 ImageMagick :Keywords :图像处理,图像处理,C,库,CImg,NetPBM,PBMplus,PBM,PGM,PPM,PAM,灰度,灰度,单通道