图像处理基本方法-python语言生成纯色BMP文件
图像处理基本方法-python语言生成纯色BMP文件
之前使用过c、java、go语言实现过生成纯色BMP图片的功能。
现在由python语言完成该功能。其他的一些背景和环境就不在赘述,主要还是在ubuntu下使用python语言环境完成。
1、python语言简介
Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。
Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
2、代码实现
#/*******************************************************
# * file:testbmp.py
# * date:2021-05-09
# * version:1.0.0.1
# * author:jack8126
# * description: create bmp file
# *******************************************************/import structwidth = 1920;
height = 1080;
bit = 3;
Red = 255;
Green = 255;
Blue = 0;bfType = 'BM'
bfSize = (width*height*bit + 54);
bfReserved1 = 0;
bfReserved2 = 0;
bfOffBits = 54;biSize = 40
biWidth = width;
biHeight = height;
biPlanes = 1;
biBitCount = bit * 8;
biCompression = 0
biSizeImage = 0;
biXPelsPerMeter = 3780;
biYPelsPerMeter = 3780;
biClrUsed = 0;
biClrImportant = 0;bmpDataSize = bfSize - 54;# open file
file = open("test-python.bmp", 'wb+')# reconstruct File Header
file.write(bfType)# i = 4 bytes
# h = 2 bytes
# B = 1 bytes
file.write(struct.pack('i',bfSize))
file.write(struct.pack('h',bfReserved1))
file.write(struct.pack('h',bfReserved2))
file.write(struct.pack('i',bfOffBits))# reconstruct bmp header
file.write(struct.pack('i',biSize))
file.write(struct.pack('i',biWidth))
file.write(struct.pack('i',biHeight))
file.write(struct.pack('h',biPlanes))
file.write(struct.pack('h',biBitCount))
file.write(struct.pack('i',biCompression))
file.write(struct.pack('i',biSizeImage))
file.write(struct.pack('i',biXPelsPerMeter))
file.write(struct.pack('i',biYPelsPerMeter))
file.write(struct.pack('i',biClrUsed))
file.write(struct.pack('i',biClrImportant))# reconstruct pixels
for x in range(0, height):for y in range(0, width):file.write(struct.pack('B',Blue))file.write(struct.pack('B',Green))file.write(struct.pack('B',Red))# close file
file.close()
3、执行程序
python testbmp.py
要想修改纯色bmp图片的分辨率和颜色值,修改代码中的参数即可:
width = 1920;
height = 1080;
bit = 3;
Red = 255;
Green = 255;
Blue = 0;
4、参考资料
https://blog.csdn.net/jackyzhousales/article/details/78030847
https://blog.csdn.net/jack8126/article/details/116331956
https://blog.csdn.net/jack8126/article/details/116466075
https://blog.csdn.net/jack8126/article/details/116505438
图像处理基本方法-python语言生成纯色BMP文件相关推荐
- 图像处理基本方法-c语言生成纯色BMP文件
图像处理基本方法-C语言生成纯色BMP文件 1.目的 我们有时需要产生各种各样的纯色图片,于是设计了这个简单的基本的图像处理小程序. 本文主要实现基本的BMP图片数据的生成过程,并保存为Windows ...
- python 重命名的方法,python如何重命名文件
欢迎访问少儿编程网(http://www.pxcodes.com)python重命名文件的方法:首先打开pycharm,找到要重命名的文件:然后依次选择[Refactor-Rename],在重命名窗口 ...
- 纯色bmp图片生成的效率
各种编程语言生成纯色bmp图片的效率 之前使用了各种语言生成纯色bmp图片,这里汇总并对比下纯色bmp图片文件生成的效率. 主要指标是完成bmp文件生成的耗时时长. 为了公平客观的对比,通过linux ...
- BMP文件分析及用python读取
一.BMP文件分析 1. 什么是BMP(位图)? 常见的图像文件格式有:BMP.JPG(JPE,JPEG).GIF等. BMP图像文件(Bitmap-File)格式是Windows采用的图像文件存储格 ...
- 数字图像处理(极简) 第三章 BMP文件的读取与显示(docx)
建议先修课程:高等数学(微积分).线性代数. 参考书目: 1.图像工程(上册)--图像处理(第4版) 章毓晋 清华大学出版社 链接:https://pan.baidu.com/s/1hEMGRUotQ ...
- visual studio 2019与c语言生成纯色与随机条纹bmp图片并转化为jpg格式
visual studio 2019与c语言生成纯色与随机条纹bmp图片并转化为jpg格式(可用于图片生成,插入与测试,主要难点在于压缩图片,图片间不同格式的相互转化) 生成纯色代码如下: #incl ...
- Python写入到csv文件存在空行的解决方法
Python写入到csv文件存在空行的解决方法 参考文章: (1)Python写入到csv文件存在空行的解决方法 (2)https://www.cnblogs.com/crooswang/p/5953 ...
- python file_python3之File文件方法
1.读写文件 open()将会返回一个file对象,基本语法: open(filename,mode) filename:是一个包含了访问的文件名称的路径字符串 mode:决定了打开文件的模式:只读, ...
- python json.loads()中文问题-Python实现的json文件读取及中文乱码显示问题解决方法...
本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { & ...
- python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...
实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...
最新文章
- Linux常用命令及技巧3
- 《3D数学基础系列视频》1.1向量基本概念
- Docker部署微服务详解
- BZOJ-1492-货币兑换cash-NOI2007-CDQ分治
- appiumpython框架实例_Appium+python 框架 (二)
- 功败垂成的王安石是大宋最后的体面
- uni-app的事件传参
- Exploit 代码用于攻击中?GitHub 马上删除
- 动态展开所有_动态演示立方体的展开,并且显示11种展开图——GeoGebra制作教程...
- Redis RDB和AOF总结
- FCKeditor在线编辑器的使用
- html获取页面input值,javascript怎么获取input中用户输入的内容?
- oracle goldengate director,Oracle GoldenGate Director安装和配置
- 达梦数据库DM8中针对中文进行排序
- Invalid MEX-file '/xxx/lk.mexa64': /xxx/anaconda3/lib/./libharfbuzz.so.0: undefined symbol: FT_Done_
- 来自我的网易博客的文章
- 本地Ping不通华为云服务问题解决
- iphone刷基带_揭秘:iPhone6S开机白苹果维修、安卓机刷基带分享
- AdaBoost算法讲解、举例
- 安装软件总是遇到“Windows Installer 正在安装”,下载Windows Installer Clean Up安装不了
热门文章
- Mysql - 开发技巧(二)
- Wireshark 用户使用手册 ———— 自定义 Wireshark
- Caused by: org.elasticsearch.action.search.SearchPhaseExecutionException报错解决
- 一文详解bundle adjustment
- .netcore2.2 windows发布IIS 服务器配置 0x8007000d
- LaTeX调整页眉宽度适应文本
- Windows 11正式版来了!一文带你免费升级、镜像下载、最低系统要求
- phpWord 读取word模板,替换相应变量
- switch 贯穿的妙用
- SSRF漏洞修复方案