CImglibjpeg--介绍配置(操作JPEG)

Posted 江南-一苇渡江

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CImglibjpeg--介绍配置(操作JPEG)相关的知识,希望对你有一定的参考价值。

关于处理图片,之前写了两篇博客关于ImageMagick的:
ImageMagick–介绍
ImageMagick–VS2015环境配置、开发(registrykeylookupFailed)

但是,在没有安装ImageMagick的机器上,会报错。我们需要修改源文件,改变code path。

这有点尴尬,成本有点高,所以今天就再介绍介绍CImg,来搞一搞。

只需要一个head就可以搞定了。

CImg介绍:
The CImg Library is a small, open-source, and modern C++ toolkit for image processing。

网址:
http://cimg.eu/download.shtml

下载后解压:
图1

接下来就是新建工程了,然后包含头文件就可以了。

接下来介绍一下 如何操作JPEG文件。

libjpeg介绍
libjpeg库是专门用于jpeg图片格式解压和压缩的库

网址:
http://libjpeg.sourceforge.net/

解压,最主要的是编译:
1修改makefile.vc

# Pull in standard variable definitions
!include <C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Include\\Win32.Mak>

也就是修改到自己电脑上Win32.Mak所在的位置,如果出现错误:
makefile.vc(11) : fatal error U1052: 未找到文件“Win32.Mak”
就要再仔细检查检查路径了。

2把jconfig.vc改为jconfig.h
否则出现错误:
fatal error U1073: 不知道如何生成“jconfig.h”

3使用visual studio的命令行工具

d:\\libjpeg\\jpeg_vs2013\\jpeg-6b>nmake /f makefile.vc

这时候就会出现libjpeg.lib

使用CImg和libjpeg
直接上代码了:

#include<iostream>
#define XMD_H
#define cimg_use_jpeg
#include "CImg.h"

int main()
{
  std::string path = "00.JPG";
  std::string save_path = "02.JPG";
  cimg_library::CImg<unsigned char>image(path.c_str());

  image.get_resize(1600, 900, -100, -100, 1).save_jpeg(path.c_str(), 100);
  system("pause");
  return 0;
}

以上是关于CImglibjpeg--介绍配置(操作JPEG)的主要内容,如果未能解决你的问题,请参考以下文章

Matlab JPEG详细介绍

Matlab JPEG详细介绍

VC 下加载 JPG / JPEG / GIF / PNG 图片最简单的方法

视频编解码类型MJPEG数据格式介绍

persits.jpeg 水印组件

安装libjpeg,让php支持jpeg图片的裁切缩放等操作