我有一个image.bmp,我想将其转换为img.jpg。但我希望能够改变jpg图像的参数,例如伽马校正。我怎么能用C ++做这个,也许用opencv或imagemagick?
我已经尝试过使用CImage类但是当我将图像从bmp转换为jpg时它太小了(从80MB到2MB)并且我丢失了很多信息。这就是为什么我希望能够控制参数。
由于
答案 0 :(得分:0)
ImageMagick有一个名为Magick++的C ++ API。使用Magick::Image
类进行图片处理,例如伽玛校正可以通过image.gamma(1.0);
方法完成。方法image.magick( "JPEG" )
会将输出格式设置为JPEG
。有关详细信息,请参阅Image++示例。
int main(int argc,char **argv)
{
InitializeMagick(*argv);
Image image( "picture.bmp" );
// Do your transformation on 'image' here
image.magick( "JPEG" )
image.write( "converted.jpg" );
return 0;
}