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

早上写了好久的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格式图像详解及处理方法

你可能感兴趣的:(聚类算法学习)