图像处理基本方法-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文件相关推荐

  1. 图像处理基本方法-c语言生成纯色BMP文件

    图像处理基本方法-C语言生成纯色BMP文件 1.目的 我们有时需要产生各种各样的纯色图片,于是设计了这个简单的基本的图像处理小程序. 本文主要实现基本的BMP图片数据的生成过程,并保存为Windows ...

  2. python 重命名的方法,python如何重命名文件

    欢迎访问少儿编程网(http://www.pxcodes.com)python重命名文件的方法:首先打开pycharm,找到要重命名的文件:然后依次选择[Refactor-Rename],在重命名窗口 ...

  3. 纯色bmp图片生成的效率

    各种编程语言生成纯色bmp图片的效率 之前使用了各种语言生成纯色bmp图片,这里汇总并对比下纯色bmp图片文件生成的效率. 主要指标是完成bmp文件生成的耗时时长. 为了公平客观的对比,通过linux ...

  4. BMP文件分析及用python读取

    一.BMP文件分析 1. 什么是BMP(位图)? 常见的图像文件格式有:BMP.JPG(JPE,JPEG).GIF等. BMP图像文件(Bitmap-File)格式是Windows采用的图像文件存储格 ...

  5. 数字图像处理(极简) 第三章 BMP文件的读取与显示(docx)

    建议先修课程:高等数学(微积分).线性代数. 参考书目: 1.图像工程(上册)--图像处理(第4版) 章毓晋 清华大学出版社 链接:https://pan.baidu.com/s/1hEMGRUotQ ...

  6. visual studio 2019与c语言生成纯色与随机条纹bmp图片并转化为jpg格式

    visual studio 2019与c语言生成纯色与随机条纹bmp图片并转化为jpg格式(可用于图片生成,插入与测试,主要难点在于压缩图片,图片间不同格式的相互转化) 生成纯色代码如下: #incl ...

  7. Python写入到csv文件存在空行的解决方法

    Python写入到csv文件存在空行的解决方法 参考文章: (1)Python写入到csv文件存在空行的解决方法 (2)https://www.cnblogs.com/crooswang/p/5953 ...

  8. python file_python3之File文件方法

    1.读写文件 open()将会返回一个file对象,基本语法: open(filename,mode) filename:是一个包含了访问的文件名称的路径字符串 mode:决定了打开文件的模式:只读, ...

  9. python json.loads()中文问题-Python实现的json文件读取及中文乱码显示问题解决方法...

    本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { & ...

  10. python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...

    实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...

最新文章

  1. Linux常用命令及技巧3
  2. 《3D数学基础系列视频》1.1向量基本概念
  3. Docker部署微服务详解
  4. BZOJ-1492-货币兑换cash-NOI2007-CDQ分治
  5. appiumpython框架实例_Appium+python 框架 (二)
  6. 功败垂成的王安石是大宋最后的体面
  7. uni-app的事件传参
  8. Exploit 代码用于攻击中?GitHub 马上删除
  9. 动态展开所有_动态演示立方体的展开,并且显示11种展开图——GeoGebra制作教程...
  10. Redis RDB和AOF总结
  11. FCKeditor在线编辑器的使用
  12. html获取页面input值,javascript怎么获取input中用户输入的内容?
  13. oracle goldengate director,Oracle GoldenGate Director安装和配置
  14. 达梦数据库DM8中针对中文进行排序
  15. Invalid MEX-file '/xxx/lk.mexa64': /xxx/anaconda3/lib/./libharfbuzz.so.0: undefined symbol: FT_Done_
  16. 来自我的网易博客的文章
  17. 本地Ping不通华为云服务问题解决
  18. iphone刷基带_揭秘:iPhone6S开机白苹果维修、安卓机刷基带分享
  19. AdaBoost算法讲解、举例
  20. 安装软件总是遇到“Windows Installer 正在安装”,下载Windows Installer Clean Up安装不了

热门文章

  1. Mysql - 开发技巧(二)
  2. Wireshark 用户使用手册 ———— 自定义 Wireshark
  3. Caused by: org.elasticsearch.action.search.SearchPhaseExecutionException报错解决
  4. 一文详解bundle adjustment
  5. .netcore2.2 windows发布IIS 服务器配置 0x8007000d
  6. LaTeX调整页眉宽度适应文本
  7. Windows 11正式版来了!一文带你免费升级、镜像下载、最低系统要求
  8. phpWord 读取word模板,替换相应变量
  9. switch 贯穿的妙用
  10. SSRF漏洞修复方案