Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用libjpeg8d构建MATLAB-jpeg工具箱_Matlab_Mex_Libjpeg - Fatal编程技术网

用libjpeg8d构建MATLAB-jpeg工具箱

用libjpeg8d构建MATLAB-jpeg工具箱,matlab,mex,libjpeg,Matlab,Mex,Libjpeg,这个问题与我在这里提出的另一个问题有关: 我一直在尝试在Windows 7下编译jpeg工具箱(使用我发布的问题答案中提供的命令Shai),但我得到以下错误: jpeg_read.c(52) : fatal error C1083: Cannot open include file: 'jerror.h': No such file or directory 我相信这是因为我没有构建libjpeg。我试图像jpegtoolbox的自述文件所说的那样构建libjpeg6b,但是我找不到一个关

这个问题与我在这里提出的另一个问题有关:

我一直在尝试在Windows 7下编译jpeg工具箱(使用我发布的问题答案中提供的命令Shai),但我得到以下错误:

jpeg_read.c(52) : fatal error C1083: Cannot open include file: 'jerror.h': No such file or directory 
我相信这是因为我没有构建libjpeg。我试图像jpegtoolbox的自述文件所说的那样构建libjpeg6b,但是我找不到一个关于如何在Windows上使用visual studio 2010实现它的清晰指南(libjpeg的安装文档也没有太大帮助),所以我结束了构建libjpeg8d

我的问题是,是否有任何方法可以使用libjpeg8d来编译jpeg工具箱。我已尝试运行该命令:

mex -I<IJGPATH> jpeg_read.c <LIBJPEG>
mex-I jpeg\u read.c
IJGPATH是我的libjpeg8d安装文件夹,LIBJPEG是jpeg.lib文件的路径,在IJGPATH/Release中,但我仍然得到与以前相同的丢失jerror.h错误


提前感谢。

Jpeg工具箱包含用于处理Jpeg文件的Matlab例程。虽然Matlab的内置IMREAD和IMWRITE函数提供JPEG文件和图像阵列之间的基本转换,但它们不提供对JPEG图像细节的访问,例如JPEG系数或量化表

该软件包中的例程提供了从Matlab直接访问JPEG文件内容的附加功能,包括离散余弦变换(DCT)系数、量化表、哈夫曼编码表、颜色空间信息和注释标记。工具箱可以添加到Matlab中使用这些函数

首先检查您的系统中是否安装了以下各项

1.Microsoft windows sdk7 2、微软Visual C++ 2010表示

如果未安装,请按指定顺序下载并安装

<>注意:在安装Windows SDK之前,卸载VisualC++ 2010的任何RealDealTalbe包。否则windows sdk在安装过程中出现问题,安装失败。在安装过程中,不要忘记在Windows标题和库下检查64位操作系统的“x64库”和32位操作系统的“x86库”。这允许对64位操作系统使用编译器工具。一旦它超过,安装Visual C++。这些工具是免费的,可以在microsoft网站上获得。在线和离线安装程序都可用。 现在是真正的整合过程

步骤1:下载jpeg工具箱并将其解压缩到单独的文件夹(如jpeg)

下载jpeg工具箱

第2步:下载jpeg源文件并将其解压缩到单独的文件夹(例如jpegsrc)。在jpegsrc中的文件夹jpeg-6b中,将jconfig.vc重命名为jconfig.h,将makefile.vc重命名为makefile

下载jpegsrc文件

步骤3:从开始->所有程序->Microsoft windows sdk,打开命令提示符。这将打开“windows x64调试环境”。导航到jpeg-6b文件夹,该文件夹位于步骤2提取的jpegsrc文件夹内。运行不带引号的命令“nmake clean all”。这将在同一文件夹中创建libjpeg.lib文件

步骤4:现在打开matlab并选择在步骤1中创建的jpeg工作文件夹

现在在命令窗口中运行以下命令, mex-I jpeg\u read.c mex-I jpeg_write.c

替换为步骤2中创建的IJG jpeg-6b目录的路径,以及 具有IJG代码库文件(libjpeg.lib)的完整路径


要使用jpeg_read和jpeg_write函数,请将上面创建的jpeg_read.mexw64和jpeg_write.mexw64文件复制到您的工作目录。不要卸载VisualC++编译器,否则它将无法工作。 如果您试图在Windows中工作,则需要将jerror.vc重命名为jerror.h

此外,当您对文件进行mex时,您需要编辑include中的jpeg_read.c和jpeg_write.c以包含@Noam中的“jerror.h”

:“顺便说一句,工具箱文件jpetbx_1.4.zip可以在此处找到:”