您的位置:首页 > 编程语言 > MATLAB

pgm格式文件及其在matlab中的读取存储方法(2)

2015-10-19 15:57 513 查看
早上写了好久的blog丢失了,原因是没有及时保存。对于线上这种东西还是不习惯,当作教训好了。

言归正传,既然嫌弃fopen,fgetl这些麻烦,而且不好用,那便思考一下pgm究竟是什么。以下是百度百科【1】的查询结果:

一套API库;游戏系统;步枪类型;西药;节目母线;概率图模型;铂族金属合金;图像格式。

综合看了一遍,还是作为图像格式的解释比较靠谱。而在百度百科里面,介绍是这样的:存储和交换图像数据的简单文件格式之一,是可转移式点阵图系列(PBM/PGM、PPM).图像头和像素信息以ASCⅡ方式编码。可用记事本软件直接编辑。

既然是图像格式,我们都知道matlab有一个专门输入图像的函数,imread。我想再次声明,2015a的版本对于原有的很多函数都作出了程度不一的扩展,比如这个函数,imread。

仔细了解一下matlab里面的函数介绍,其可处理的图片格式有:

BMP – Windows Bitmap windows位图

CUR – Cursor File 光标文件

GIF – Graphics Interchange Format 图形交换格式

HDF – Hierarchical Data Format 层次数据结构(看着这么别扭怎么)

ICO – Icon File 图标文件

JPEG – Joint Photographic Experts Group 联合图像专家组

JPEG 2000 - Joint Photographic Experts Group 2000 联合图像专家组2000

PBM – Portable Bitmap 可移植位图

PCX – Windows Paintbrush windows画笔

PGM – Portable Graymap 可移植灰度图

PNG – Portable Network Graphics 可移植网络图型

PPM – Portable Pixmap 可移植像图

RAS – Sun Raster 光栅图

TIFF – Tagged Image File Format 标记图像文件格式

XWD – X Window Dump Xwindows转储(不明白)

竟有如此多的图片格式!
而本人并未专门学习过此类知识,故翻译出的结果非常奇怪。幸而对于常见的图像格式,如jpeg,bmp等等这些,我们大概都比较熟悉这些;而对于不很常见的,比如pgm这些,只要在用到的时候大概知道matlab里面有函数可以字节对其进行处理也就可以了。

本文的数据来源为the Olivetti Face Database,另外,文后也将附上一张图片以供看官实验。

贴一下操作代码:

% 导入pgm格式图片

clc,clear,close all;

im1 = imread(‘1.pgm’);

imshow(im1)

有兴趣的看官可以考虑看看下面一篇博客【2】,是C++中如何处理pgm图像的方法,希望能有所帮助。

【1】PGM_百度百科

【2】PGM格式图像详解及处理方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab 图片处理