初识PGM图片

1、PGM 是便携式灰度图像格式(portable graymap file format),在黑白超声图像系统中经常使用PGM格式的图像.

文件的后缀名为".pgm",PGM格式图像格式分为两类:P2和P5类型.

不管是P2还是P5类型的PGM文件,都由两部分组成,文件头部分和数据部分.

P5格式

P5格式的文件,每个像素用可以用二进制表示。

比如有一幅P5格式图像,灰度值可能的最大值为255,它的第一行第一列像素值为100,那么该图像每个像素使用一个字节表示,第一行第一列为数值为100的二进制一个字节表示。

如果这副图灰度值可能的最大值是65535,那么它的第一行第一列为数值为100的二进制两个字节表示(因为表示到65535需要两个字节)。

每个像素数据之间没有间隔地连续存储,图像一行信息结束后从下一行第一列继续,两行图像数据之间也没有间隔的连续存储,直到将图像的所有信息表示完。

因为是以二进制表示,所以数据部分在记事本中打开后看到的将会是乱码.

文件头部分

文件头包括的信息依次是:

1.PGM文件的格式类型(是P2还是P5);

2.图像的宽度;

3.图像的高度;

4.图像灰度值可能的最大值;

P2格式

P2格式的文件,每个像素使用字符串来表示。

比如一幅 P2格式图像,灰度值可能的最大值为255,它的第一行第一列像素值为100,那么该图像图像每个像素使用3个ASCII字符表示,第一行第一列数据为ASII表示的"100"。

不同于P5格式,P2格式每个像素数据之间需要用一个空格符分开存储,在图像的每一行数据结束时需要换行。还有一点需要注意,P2格式文件数据部分当数据超过70个字节的时候,会自动换行。

也就是说图像的每一行数据末尾,或者存储时超过70个字节时,需要进行换行.

*****  有说用Sublime Text 2.0.2可以打开PGM文件

2、PNM是"Portable Any Map"的缩写。

****************       又说 PNM文件可以用程序xview或kview打开。  ***************

PPM->Portable PixMap
PGM->Portable GreyMap
PBM->Portable BitMap
PBM支持单色图(1个像素位)
PGM支持灰度图形,能够读PBM图形和PGM图形,输出PGM图形
PPM支持真彩色图形,可以读上面所有格式,输出PPM图形

参考博客:http://www.cnblogs.com/pang1567/p/4090695.html

时间: 2024-11-10 13:04:01

初识PGM图片的相关文章

图片格式PGM缩写

PGM是Portable Gray Map的缩写.它是灰度图像格式中一种最简单的格式标准.另外两种与之相近的图片格式是PBM和PPM.它们分别相应着黑白图像和彩色图像. PGM的数据存放方式相比于JPG来说是非常easy的,由于它不进行数据压缩.自然的PGM的图片的大小也就比較大了.一个120*128 8-bit的灰度图像,PGM的大小是44kb,而将这个图片转化为JPG格式后.大小仅为4kb. 所以.在日常各种网络应用中你是非常难见到PGM图片的,它太浪费流量了. PGM的数据格式就像上面说的

MATLAB 批量修改图片后缀名并保存在指定的位置

% 本示例程序将 G:\fiber_sample\crop_images\目录下面所有的 pgm 图片转换为 jpg 图片 % 如果仅对一张 pgm 图片作格式转换,请直接看核心代码部分. function [ ] = pgm2jpg( ) % 读取指定目录下面所有的 pgm 格式图片 pgms = dir('G:\fiber_sample\crop_images\*.pgm'); %num_pgms = length( pgms ); for i = 9001 : 10000 pgm_file

Ubuntu终端字体颜色方案

默认: 蓝色代表该文件夹: 绿色代表可运行文件. 红色表示压缩文件. 浅蓝色表示链接文件: 灰色表示其它文件: 红色闪烁表示链接的文件有问题了 黄色表示设备文件. 非常不爽怎么办,改! # Attributecodes: 字符属性 # 00=none 01=bold 04=underscore 05=blink 07=reverse08=concealed #00无 01粗体 04下划线 05闪烁 07反转 08隐藏 # Text color codes: 字符颜色 # 30=black 31=

Bundler 及 PMVS 常见问题&解决方法

Bundler是Noah Snavely开发的一套基于SfM原理.能够利用无序图片重建三维模型的系统.CMVS+PMVS是Yasutaka Furukawa博士写的一套强大系统,能够以Bundler的输出作为输入,二者搭配使用,能够重建出稠密的点云模型.下面是我总结的这整套系统在实际编译.运行中的常见问题,并给出相应解决方法,希望对大家有所帮助. (注:本文Bundler在cygwin下编译运行.) 问题1. 问题描述:编译时,在cygwin中执行make之后,bin目录下并没有生成bundle

图片存储格式 PNM 以及 PBM/PGM/PPM

图片的存储格式之一是PNM--实际上是PBM.PGM.PPM三种格式的统称.这三种格式的语法很接近,分别对就黑白图片.灰度图片和彩色图片. PNM是"Portable Any Map"的缩写. PNM文件可以用程序xview或kview打开. PPM格式的图片 ppm格式可以是二进制的,也可以是纯文本的.两者的区别主要是像素数据用二进制表示还是用纯文本表示. 纯文本格式的PPM非常适合于简单的图片输出--因为不需要复杂的图片处理library. 下面是一个纯文本PPM格式的图片 文件的

初识scrapy,美空网图片爬取实战

这俩天研究了下scrapy爬虫框架,遂准备写个爬虫练练手.平时做的较多的事情是浏览图片,对,没错,就是那种艺术照,我骄傲的认为,多看美照一定能提高审美,并且成为一个优雅的程序员.O(∩_∩)O~ 开个玩笑,那么废话不多说,切入正题吧,写一个图片爬虫. 设计思路:爬取目标为美空网模特照片,利用CrawlSpider提取每张照片的url地址,并将提取的图片url写入一个静态html文本作为存储,打开即可查看图片. 我的环境是win8.1, python2.7+Scrapy 0.24.4,如何配环境我

Android探索之图片缓存<初识Glide>(三)

前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实现方案不能满足项目的需求改用Afinal,由于Afinal不再维护而选择了师出同门的Xutils,中间也接触过别的开源框架比如Picasso,对Picasso的第一次印象就不太好,初次接触是拿到了公司刚从外包公司接手过来的图片社交类app,对内存占用太大,直接感受就是导致ListView滑动有那么一

HTML 初识 HTML【 整体结构 文字 图片 表格】

HTML  超文本标记语言,页面内可以包含图片.链接,甚至音乐.程序等非文字元素. 网页的本质就是超级文本标记语言,万维网是建立在超文本基础之上的.TML 通过标记符号来标记要显示的网页中的各个部分,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位. 对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果 整体结构 超文本标记语言的结构包括"头"部分(Head 部提供关于网页的信息).和"主体&

Web前端技术:CSS部分初识--行内样式、内嵌样式、外部样式,CSS的优先级,CSS的选择器,各种CSS样式(文本与文字、颜色的表示、背景的设置、超链接、列表、表格、图片)

一.CSS样式 1.行内样式:直接写在body的内部标签里,如下就是行内样式 2.内嵌样式:写在head的style标签内,如下就是内嵌样式 3.外部样式:css样式单独写在一个.css文件里,使用时,在HTML的head内用link标签引用即可 二.CSS的优先级 三.CSS的选择器 选择器是一种选择方式.选中你想要的元素的方法,称之为“选择器”  1.全局选择器:*  2.标签选择器:p.span.a.h1~h6.ul.ol  3.类选择器:.one  4.id选择器:#left  5.后代