pgm格式图片

PPM / PGM / PBM 图像格式 【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) PBM / PGM / PPM 图像格式 0. 原图 1. PBM(Portable Bitmap Format)   只有白与黑, 没有灰. 2. PGM(Portable Greymap Format)   灰度图 3. PPM(Portable Pixmap Format)   RGB图像 4. 浅谈三种图像格式... 阅读详情

PGM(Portable Graymap Format)是一种便携式灰度图像格式,属于Netpbm图像格式家族(还包括PPM彩色图像、PBM二值图像等),因其结构简单、易于解析而被广泛用于计算机视觉、图像处理等领域。

一、PGM格式的核心特点

  1. 灰度图像专用:仅存储黑白/灰度信息,不包含彩色通道(与RGB格式的彩色图像不同)。
  2. 两种存储模式:
    • ASCII文本格式(P2):像素数据以明文数字表示,人类可直接阅读,文件体积较大。
    • 二进制格式(P5):像素数据以二进制字节流存储,文件体积小,解析效率高。
  3. 跨平台兼容性:格式规范公开且简单,几乎所有图像处理库(如Python的PIL、OpenCV)都支持读写。

二、PGM文件的结构组成

无论ASCII还是二进制格式,PGM文件都由文件头和像素数据两部分组成:

1. 文件头(Header)
  • 魔数(Magic Number):开头必须是P2(ASCII)或P5(二进制),用于标识格式类型(区分大小写)。

  • 图像尺寸:宽度(列数)和高度(行数),以空格或换行分隔。

  • 最大灰度值:表示像素的亮度范围(通常为255,即0255对应黑到白),必须是165535之间的整数。

  • 注释行:以#开头的行,可插入说明文字,位于魔数之后、像素数据之前。

    示例(P2格式文件头):

    P2                  # 魔数(ASCII格式)
    # 这是一张测试图片    # 注释行
    100 200             # 宽度100,高度200
    255                 # 最大灰度值255
    
2. 像素数据
  • P2格式:以ASCII文本存储的整数(0~最大灰度值),像素之间用空格、换行或制表符分隔,总数量必须等于“宽度×高度”。
    示例(接上面的文件头):
    0 10 20 30 ...      # 第一行像素
    50 60 70 80 ...     # 第二行像素
    ...
    
  • P5格式:以二进制字节流存储,直接对应像素的数值(8位灰度值用1字节,16位用2字节,按宽度×高度顺序排列),无法直接用文本编辑器阅读。

三、PGM格式的应用场景

  • 计算机视觉算法测试:因其格式简单,常用于验证图像读取、处理(如滤波、边缘检测)等算法的正确性。
  • 科学数据可视化:适合存储实验生成的灰度数据(如医学影像中的CT切片、天文观测图像)。
  • 教育与调试:ASCII格式的明文特性便于初学者理解图像数据的存储逻辑。

四、如何打开或处理PGM文件

  • 图像查看器:专业软件如GIMP、IrfanView、XnView支持直接打开。
  • 编程处理:
    • Python:用PIL库(Image.open())或OpenCV(cv2.imread())读取。
    • C++:用OpenCV或自定义解析器(因格式简单,容易手动解析文件头和数据)。

总结

PGM是一种轻量、直观的灰度图像格式,适合对图像数据有直接访问需求的场景。其结构清晰,解析难度低,是学习图像处理或开发相关工具时的常用格式。

使用GIMP 处理 PGM 格式ROS地图 PGM (Portable Gray Map) 是一种常见的灰度图像格式,特别在机器人地图、科学成像等领域广泛应用。 阅读详情

相关推荐

PGM图片格式

因为公司使用的人脸识别算法用到了PGM格式的图片作为输入源,查资料备用: PBM图片格式 可移植像素图格式(PPM),可移植灰度图格式(PGM)和可移植位图格式(PBM)是便于跨平台的图像格式。有时候也被统称为PNM格式 文件格式描述 这三种格式在颜色的表示上有差异。PBM是单色,PGM是灰度图,PPM使用RGB颜色。 每个文件的开头两个字节(ASCII码

学海无涯 3626

pgm格式文件

PGM是Portable Gray Map的缩写,它是灰度图像格式中一种最简单的格式标准。PGM由两部分数据组成,分别是文件头部分和数据部分。 文件头部分 文件头包括的信息依次是: 1.PGM文件的格式类型(是P2还是P5); 2.图像的宽度; 3.图像的高度; 4.图像灰度值可能的最大值; 文件头的这四部分信息都是以ASCII码形式存储的,所以可以直接在将P2或P5格式的PGM文件在记事本中打开看到文件头的信息。 PGM文件头的4个信息之间用分割符分开,PGM的合法分隔符包括:空格,TAB

white_nights的博客 1万+

显示PGM格式图片的面板实现

PGM是一种简易的图片格式,仅仅通过描述各点的灰度值表示。为了简单,这里采用更简单的图片格式,即只存储各点灰度值。比如一个5*5的图片如下所示。 0 0 10 10 0 0 0 0 10 10 0 0 0 0 10 10 0 0 0 0 10 10 0 0 0 0 10 10 0 0 为了显示这样的图片,这里实现一种简易的面板,从文本中读取灰度值,然后显示。 具体代码如下所示。

dahlwuyn的专栏 4747

PGM图片格式与代码

这两天在搞神经网络,里面的一个人脸数据库的图片格式是PGM,其实之前早就知道了这个图片格式,但是没去深究这个图片格式的数据到底是什么安排的。搜索了下百度百科,发现介绍的真是简单,下面就自己来系统地整理一下。                  Jeremy Lin  PGM是Portable Gray Map的缩写,它是灰度图像格式中一种最简单的格式标准。另外两种与之相近的图片格式是PBM和

LinJM-机器视觉 2万+

ROS | PGM格式地图文件详解

ROS PGM格式文件详解   PGM,portable graymap file format,译为便携式灰度图像文件格式。由两部分组成,文件头部分和数据部分。此外,PGM还分为P2和P5两种不同的格式。 文件头包括如下信息: 1.PGM文件的格式类型; 2.图像的宽度; 3.图像的高度; 4.图像灰度值的可能的最大值;   文件头的这四部分信息都是以ASCII码形式存储的,所以可以直接将PGM格式的文件在记事本中打开看到文件头的信息。 数据部分   数据部分记录图像每个像素的灰度值,按照图像从上到下,从

九七的博客 4750

人脸图片库的PGM格式解析与应用

可移植灰度图(PGM)格式是图像处理领域常用的格式之一,它为灰度图像的存储和交换提供了一种简单而有效的方法。本章将介绍PGM格式的基本概念、起源以及其核心特点。PGM(Portable GrayMap)格式最初由Russell Kirsch在1950年代为美国国家标准局(NBS)设计,目的是为了简化数字图像的处理。PGM文件以纯文本形式存储图像数据,这使得它们易于在不同系统间传输和修改。PGM(Portable Gray Map)是图像处理中一种常用的数据格式,特别是在灰度图像处理领域。

weixin_28721743的博客 1026

java JPG等图片格式转成PGM

不想看废话的直接跳到实现部分 引言 原本以为网上会有很多这方面的工具类可以实现,但是发现寥寥无几,而且大部分还都是其他的语言的。 最近在研究人脸的识别技术,大部分的人脸识别开源库都是使用pgm的图片格式作为识别图片格式。 因此测试和使用时,必然要把jpg等彩色图片转为pgm的灰度图片格式使用。 在讲方法之前,先进行一下图片的格式科普: PPM(Portable PixMap)是portable像素图片,是由netpbm项目定义的一系列的portable图片格式中的一个。这些图片格式..

Keith_Prime的博客 2900

VS code平台调试AutoLISP程序教程

VS code平台调试AutoLISP程序教程

BearElder的博客 3183

pgm图片格式

简单介绍 pgm格式图片是灰度图格式中一种最简单的额格式; 由两部分组成:文件头+像素数据; 1.文件头 文件头信息依次包括: 1.1 PGM文件的类型:文件类型包括P2和P5两种格式; 1.2 图像的宽度; 1.3 图像的高度; 1.4 图像灰度值的最大值; 以上文件头的信息采用的是ASCII码形式存储,所以可以直接使用记事本打开文件,看到文件头信息; PGM文件头采用合法分隔符分开,在PGM中合法分隔符包括:空格、回车、TAB、换行符; 2.像素数据 像素数据根据文件头信息中的P

weixin_43298884的博客 2542

SDIO协议

SDIO协议1 概述  SDIO,全称:Secure Digital Input and Output ,即安全数字输入输出接口。2 特点①与多媒体卡系统规格书版本4.2全兼容。支持三种不同的数据总线模式:1位(默认)、4位和8位。②与较早的多媒体卡系统规格版本全兼容(向前兼容)。③与SD存储卡规格版本2.0全兼容。④与SD I/O卡规格版本2.0全兼容:支持两种不同的数据总线模式:1位(默认)和4

Let the development board fly! 3万+

如何将rvt(BIM)转换为点云格式

1、为什么将BIM转换为点云格式? 如何使设计BIM与真实场景进行配准,分析在建、未建、已建构建的情况,真实场景是通过点云生产的,和点云配准需要相同的格式。 2、如何转换? 实用工具revit,转换过程如下图,这样就可以转换成三角网格形式。 3、FBX还需要进行一次转换,即转换成点云常用的类型,如bin\ply\pcd等格式。 需要软件cloudcompare.exe,软件下载地址百度云 链接:https://pan.baidu.com/s/1pflcKNc04loBnS1yKR39hw 提取码:obaf

self_Name_的博客 4489

Python 读取 PGM 格式图片,RGB 转 PGM

首先了解一下PGM格式: .pgm图片简介以及Python读取.pgm图片的方法 Python pgm解析和格式转换 PGM格式图像详解 【图像格式】 PPM/PGM/PBM格式编码详解 Python 读取 PGM 格式图片 from PIL import Image import numpy as np import matplotlib.pyplot as plt def read_i...

不正先生的博客 1845

k8s篇之underlay网络和overlay区别

underlay和overlay

小橙子的笔记屋 2142

python读取pgm格式图片并显示

涉及到使用BioID_Face_Database人脸数据集,而其中图片的存储格式是.pgm,所以简单写了几句python代码来读取并显示图片进行查看,代码如下: import os from PIL import Image def eachFile(filepath): for root, dirs, files in os.walk(filepath): for ...

xiakj的专栏 5222

ZYNQ PS裸机开发RS485

RS485 是一种通用的通信标准,广泛用于数据采集和控制应用中。它的主要优点之一是它允许将多个 RS485 设备放在同一条总线上,这使得多个节点可以相互连接。RS-485是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准(balanced transmission standard),EIA一开始将RS(Recommended Standard)做为标准的前缀,不过后来为了便于识别标准的来源,已将RS改为EIA/TIA。

baidu_34971492的博客 829

黑猫带你学eMMC协议第4篇:eMMC概述

1 前言 声明: 本文依据eMMC JEDEC5.1协议及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 本文大约3000字,从emmc的内部结构框架、供电、总线、寄存器等各方面进行框架性的介绍,本章节内容不需要深入研究,读完本篇文章,只要能对emmc有个框架下的了解,就可以了。 2 内部结构框架 由图可以看出,emmc内部由两块组成:控制器 + 存储介质。emmc内部存储介质绝大部分为nand flash。 众所周知,我们需要存储数据到nand flash中,并

黑猫奥利奥的博客 3340

Matlab实现图片格式转换 pgm转jpg

% 本示例程序将 H:\me的论文\其他\另一个数据\lfwcrop_grey\lfwcrop_grey\faces\目录下面所有的 pgm 图片转换为 jpg 图片 % 如果仅对一张 pgm 图片作格式转换,请直接看核心代码部分。 function [ ] = pgm2jpg( ) % 读取指定目录下面所有的 pgm 格式图片 pgms =...

Gunther的博客 3435

Playwright实战:打造绕过全维度前端反爬的无头浏览器爬虫(2026实战版)

Playwright绕过前端反爬的核心是模拟真实:真实的设备指纹、真实的行为轨迹、真实的网络请求;2025年前端反爬的核心检测维度是设备指纹+行为轨迹+网络请求,三者缺一不可;实战中需重点关注WebGL/Canvas指纹模拟、行为随机性、请求头完整性,这是绕过反爬的关键;性能优化需以“不触发反爬”为前提,优先选择浏览器复用、资源拦截,而非无限制并发。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2094

matlab把图片pgm格式转换成png格式

http://blog.youkuaiyun.com/chenbang110/article/details/7591576 Path0 = uigetdir('..\ORL人脸库', '请在当前文件夹下选择人脸识别图片库' );   T=40;     %共40类   TN=10;    %每类10幅图像      for i = 1:T       

u012746763的专栏 4356

2026年MathorCup数学应用挑战赛大数据竞赛赛道A论文分享

本文基于250款啤酒的化学与感官数据,构建以化合物-感官关系为核心的风味解析框架。通过多输出偏最小二乘与稀疏多任务建模,实现化合物组成到感官强度的稳健映射,并分离连续预测与等级校准;结合Spearman相关网络与重复抽样稳定性分析,筛选各感官属性的关键候选化合物;在低维潜在空间中保留真实风格统计结构,生成Tripel、Kriek等风格的合理化合物谱,并实现Pils/Lager向Tripel的受约束迁移,确保缺陷指标不恶化。三问共享统一数据尺度与模型逻辑,形成可检验的“预测—解释—生成”闭环,强调化学合理性与

172

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Matlab图片jpg转pgm格式程序

图片jpg转pgm格式 function jpg2pgm( inputImage ) % inputImage为所需要转换的图片名称 % 先将要转换的jpg图片读进来 img=imread(inputImage); % 设置输出文件名 imageName='test3.pgm'; % 最后目录中的imageName文件即为转化后的p...

muli 4661

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Matlab实现图片格式转换 pgm转jpg等

在Matlab下,转换图片格式相对比较容易,本文以 PGM 转 JPG 为例,贴出示例程序:  % 将pgm图片批量转换为jpg图片 function [ ] = pgm2jpg( ) % 读取指定目录下面所有的pgm格式图片 pgms = dir('C:\Users\kitty\test\*.pgm'); num_pgms = length( pgms ); for i = 1 :

yangguangqizhi的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

matlab实现jpg转pgm,Matlab实现图片格式转换 pgm转jpg等

在Matlab下,转换图片格式相对比较容易,本文以 PGM 转 JPG 为例,贴出示例程序:% 将pgm图片批量转换为jpg图片function [ ] = pgm2jpg( )% 读取指定目录下面所有的pgm格式图片pgms = dir('C:\Users\kitty\test\*.pgm');num_pgms = length( pgms );for i = 1 : num_pgmspgm...

weixin_39812039的博客 706

基于PIL批量修改图片JPG格式为PGM格式

安装PIL pip install pillow 修改JPG格式为PGM格式 import os from PIL import Image file_src_path = "../frame/" # store jpg images file_des_path = "../pgm/" # storing pgm format def jpg2pgm(file_src_path, fi...

王山山 801

图片格式PGM缩写

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

weixin_30898109的博客 560
上一篇: 判断pgm图片是否完整
下一篇: pgm图片上下两部分灰度值
越甲八千
博客等级 码龄11年 2953粉丝 553原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值