Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
使用Matlab imwrite在JPEG中保存灰度图像_Matlab_Image Processing_Jpeg - Fatal编程技术网

使用Matlab imwrite在JPEG中保存灰度图像

使用Matlab imwrite在JPEG中保存灰度图像,matlab,image-processing,jpeg,Matlab,Image Processing,Jpeg,我是图像处理领域的新手,想就一个我无法解决的问题寻求帮助。问题如下: 我有一个灰色(黑白)图像“grayimage”,我想使用Matlab中的imwrite函数使用JPEG格式保存它。我使用以下语法: imwrite(grayimage,cmap, 'imagename.jpg', 'jpeg'); 现在,当我使用图像查看器打开图像文件imagename.jpg时,我没有看到灰色图像。它是彩色的,图像与预期的不同 有人能指出我做错了什么以及我在imwrite中缺少的选项/参数吗 我想把图像转换

我是图像处理领域的新手,想就一个我无法解决的问题寻求帮助。问题如下:

我有一个灰色(黑白)图像“grayimage”,我想使用Matlab中的
imwrite
函数使用JPEG格式保存它。我使用以下语法:

imwrite(grayimage,cmap, 'imagename.jpg', 'jpeg');
现在,当我使用图像查看器打开图像文件imagename.jpg时,我没有看到灰色图像。它是彩色的,图像与预期的不同

有人能指出我做错了什么以及我在
imwrite
中缺少的选项/参数吗

我想把图像转换成RGB格式,然后用jpeg格式保存。那有帮助吗

欢迎来到人类世界

如果您只是想要灰度jpeg,最简单的方法可能是安装
jpegtrans
程序,并使用其
-grayscale
选项来摆弄图像的颜色:

一个更好的选择是使用输出,例如

(多亏了维基百科关于有损压缩的页面提供了完美大小的彩色图像供摆弄。)

欢迎来到视频世界

如果您只是想要灰度jpeg,最简单的方法可能是安装
jpegtrans
程序,并使用其
-grayscale
选项来摆弄图像的颜色:

一个更好的选择是使用输出,例如


(多亏了维基百科关于有损压缩的页面,才有了一张完美大小的彩色图像供你摆弄。)

在我看来,你有一张带相关彩色地图的索引图像。在将其保存到磁盘之前,您可以使用该函数将其转换为灰度图像,方法是:


在我看来,你有一个索引图像和相关的颜色映射。在将其保存到磁盘之前,您可以使用该函数将其转换为灰度图像,方法是:


您的cmap来自哪里?可能是一张“彩色”彩色地图。尝试使用灰色颜色贴图:

cmap = colormap('gray');
imwrite(grayimage,cmap, 'imagename.jpg', 'jpeg');

有关colormap的更多信息:

您的cmap来自哪里?可能是一张“彩色”彩色地图。尝试使用灰色颜色贴图:

cmap = colormap('gray');
imwrite(grayimage,cmap, 'imagename.jpg', 'jpeg');

有关colormap的更多信息:

感谢您的回复。我在这里有点困惑,因为我想在Matlab脚本中使用imwrite函数以jpeg格式保存灰度图像。Matlab中是否有jpegtrans的等价物?谢谢您的回复。我在这里有点困惑,因为我想在Matlab脚本中使用imwrite函数以jpeg格式保存灰度图像。Matlab中有jpegtrans的等价物吗?Amro,我的图像不是索引格式,而是存储在jpeg文件中。我正在从jpeg文件中读取该灰度图像,对该灰度图像进行框过滤,并希望将过滤后的输出灰度图像存储为jpeg格式。我可以在imshow中正确地看到输出图像,但是当我使用imwrite以jpeg格式保存输出图像时,我在图像查看器中看到一种彩色图像。有什么建议吗?@Shan:你的问题有点混乱,缺乏信息;你说你的图像不是索引图像,但你却在使用某种颜色映射。。。您应该首先了解支持的不同类型(二进制、索引、灰度、truecolor)。Amro,我的图像不是索引格式,而是存储在jpeg文件中。我正在从jpeg文件中读取该灰度图像,对该灰度图像进行框过滤,并希望将过滤后的输出灰度图像存储为jpeg格式。我可以在imshow中正确地看到输出图像,但是当我使用imwrite以jpeg格式保存输出图像时,我在图像查看器中看到一种彩色图像。有什么建议吗?@Shan:你的问题有点混乱,缺乏信息;你说你的图像不是索引图像,但你却在使用某种颜色映射。。。您应该首先了解支持的不同类型(二进制、索引、灰度、truecolor)。非常感谢,它非常有用。我想我使用的是造成问题的默认颜色映射。添加了cmap=colormap('gray')行后,灰色的colormap设置正确。现在请竖起大拇指。这将清楚地表明这个问题已经得到了令人满意的回答,为未来的访问者提供了一个关于哪个答案有效(如果有的话)的指标,并给有答案的人一点额外的声誉,作为继续回答问题的激励。谢谢非常感谢,它很有魅力。我想我使用的是造成问题的默认颜色映射。添加了cmap=colormap('gray')行后,灰色的colormap设置正确。现在请竖起大拇指。这将清楚地表明这个问题已经得到了令人满意的回答,为未来的访问者提供了一个关于哪个答案有效(如果有的话)的指标,并给有答案的人一点额外的声誉,作为继续回答问题的激励。谢谢