图像处理问题记录

news/2024/7/21 5:04:12 标签: 图像处理

JPEG算法分析与实现
JPEG算法解密
JPEG算法
libjpeg for DCMI
Stm32-Tools-Evaluation/STM32Cube_FW_F4_V1.9.0/Projects/STM32F429I-Discovery/Applications/LibJPEG/
QDBMP (Quick n’ Dirty BMP) is a minimalistic cross-platform C library for handling BMP image files
How To Create A Bitmap Image File By Hand, Without Stencils
How to create bitmap in C ?
如何获取JPEG图片质量和预测压缩图片大小
图解RGB565、RGB555、RGB16、RGB24、RGB32、ARGB32等格式的区别
BMP文件格式详解(BMP file format)

ppm文件

PPM文件格式详解
Python:使用 PIL.Image 将图片从 PPM 格式转为PNG格式

#!/usr/bin/python
# coding=utf-8
import os
import sys
import subprocess
from PIL import Image

#遍历当前文件夹,筛选符合要求的文件,并执行替换重命名
def convert_pic(root_path):
    print (root_path)
    try:
        for root,dir,files in os.walk(root_path):
                for file in files:
                    file_name, file_ext = os.path.splitext(file)
                    # 判断是否为ppm图片格式
                    if file_ext!=".ppm":
                        continue
                    img = Image.open(root_path+"/"+str(file))
                    print(root_path+"\\"+str(file))
                    converted_path=root_path+"/converted_png"
                    folder = os.path.exists(converted_path)
                    if not folder:
                        os.mkdir(converted_path)   
                    #修改文件后缀名为png
                    file_ext=".png" 
                    newfile_name= file_name+file_ext
                    img.save(converted_path+'/'+newfile_name)  
        print("转换成功!")            
    except Exception as e :
        print (e)
        print("转换失败!")
         
 
#定义主函数,接收命令行参数
def main(argv):
    print (argv[0])
    convert_pic(".")
    subprocess.call("pause",shell=True)#按任意键退出   
   
    # convert_pic(".",96,96)
    
    
    
        
if __name__ == '__main__':
    main(sys.argv)
    

PPM图像格式是由Jef Poskanzer 在1991年所创造的。

PPM(Portable Pixmap Format)还有两位兄长,大哥名叫「PBM」,二哥人称「PGM」,他们三兄弟各有所长,下面为你们一一介绍:

PBM 是位图(bitmap),仅有黑与白,没有灰
PGM 是灰度图(grayscale)
PPM 是通过RGB三种颜色显现的图像(pixmaps)

每个图像文件的开头都通过2个字节「magic number」来表明文件格式的类型(PBM, PGM, PPM),以及编码方式(ASCII 或 Binary),magic number分别为P1、P2、P3、P4、P5、P6。

Magic NumberTypeEncoding
P1BitmapASCII
P2GraymapASCII
P3PixmapASCII
P4BitmapBinary
P5GraymapBinary
P6PixmapBinary
当编码格式为Binary时,像素点的存储采取的是BigEndian,即R存储在低地址,B存储在高地址
  1. PPM灰度文件
    文件头由3行文本组成,可由fgets读出
    1)第一行为“P2",表示文件类型
    2)第二行为图像的宽度和高度
    3)第三行为最大的象素值255
    接下来是图像数据块。按行顺序存储。每个象素占4个字节,灰度通道为4字节ASCII码表示的整数,
    高字节在前。左上角为坐标原点。

  2. 16位PPM文件(至少适用于读取由DCRAW生成的PPM文件)
    文件头由3行文本组成,可由fgets读出
    1)第一行为“P6",表示文件类型
    2)第二行为图像的宽度和高度
    3)第三行为最大的象素值
    接下来是图像数据块。按行顺序存储。每个象素占3个字节,依次为红绿蓝通道,每个通道为1字节整
    数。左上角为坐标原点。

  3. PPM彩色文件
    文件头由3行文本组成,可由fgets读出
    1)第一行为“P3",表示文件类型
    2)第二行为图像的宽度和高度
    3)第三行为最大的象素值255
    接下来是图像数据块。按行顺序存储。每个象素占12个字节,依次为红绿蓝通道,每个通道为4字节
    ASCII码表示的整数,高字节在前。左上角为坐标原点。

例:给一个16位的ppm文件写文件头

// Write header

//其中width和height中间有一个空格

fprintf(pFile, "P6\n%d %d\n255\n", width, height);

TGA文件

TGA_FileFormat.pdf
TGA文件格式解析
【数据压缩2】TGA格式图片文件分析
.tga图片的文件格式分析


http://www.niftyadmin.cn/n/761198.html

相关文章

python定义变量不赋值_Python数字变量定义赋值

一、任务描述 本实验的任务主要对Python的变量赋值进行基本操作,通过完成本实验任务,要求学生熟练掌握Python的变量赋值与定义,并对Python变量的基本操作进行整理并填写工作任务报告。 二、任务目标 1、掌握Python的变量赋值 三、任务环境 Ub…

vue单页面应用初始加载登录页_6 种 Vue 权限路由实现方式总结(最全)

转载:https://cloud.tencent.com/developer/article/1449210① 使用全局路由守卫实现前端定义好路由,并且在路由上标记相应的权限信息const routerMap [ {path: /permission,component: Layout,redirect: /permission/index,alwaysShow: true, meta: {t…

算法使用记录

校验和算法 Adler-32 Adler-32校验算法 复数和矢量运算 Antilog Table Antilog Calculator

python excel对比_Python处理Excel模块的对比分析

码不理课堂开课啦! 数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件。因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道。如果仅仅是要以表单形式保存数据,可以借助CSV 格式(一种以逗号…

PQDIF

PQDIF组成 PQDIF:Power Quality Data Interchange Format 电能质量数据交换格式,文件后缀一般为.pqd 通常一个pqd文件内只存储一个观测记录 文件名称一般为:序列号_年-月-日_T_时_分_秒_毫秒_功能_PQDIF.pqd eg:P3004210_2021-01-29_T_12-00-28-815_Sna…

python 用list实现队列_python 用数组实现队列

原博文 2019-02-14 20:15 − # 数组有一个固定的长度。头指针和尾指针,都指向数组第一个值。 # 当进行push操作的时候,头指针后移。当进行pop操作的时候,尾指针向后移 # 当到达最后一个值的时候,重新指向第一个值。取模 %queue_si…

python安装与开发环境搭建实验总结_python开发环境搭建总结和helloword

python开发语言的热度持续不减,很多小伙伴们都在摸索着前进。今天,我们就从python开发环境搭建开始聊起。帮助大家快速进入python学习状态。 Python下载 直接从python官网,下载适合操作的系统的安装包。 python下载页 我的系统是64位的&#…

IEC61850

IEC 61850是关于变电站自动化系统结构和数据通信的国际标准,目的是使变电站内不同厂家的智能电子设备(IED)之间通过一种标准实现互操作和信息共享,取消多种协议转换环节和转换设备,使系统调试更加便捷,实现“一个世界、一种技术、…