python3 读取文件,python处理视频文件
一个简单的方法是用一个雕像。
第三方图像处理库,如PIL/枕头。代码非常简单,只需几分钟
在图像模块的文档示例中找到…
但是,如果没有,我们来看看如何手动完成此操作。
首先,BMP不是文本文件格式,而是二进制格式。这意味着你必须以二进制模式读取。此外,因为没有要阅读的文本行,所以不能“逐行”阅读。Bytes对象是不可变的,所以您可能希望将其复制到bytearray中以供使用。因此,如下。
withopen(垃圾邮件。BMP),(rb))作为f:
DATA=bytearray(f.read))
接下来,我们需要分析BMP文件格式。因为假设练习的要点是明确自己做的方法,所以链接到维基百科。这比微软文档好。你可以从那里开始。
标准库中的struct模块有助于解释标题。使用struct.unpack_from(l,data,offset)读取32位比读取data [offset],data [offset 1]等要简单得多。您可以忽略BMP压缩的所有选项。否则,这将是一个非常困难的任务,只指定代码。然而,你可能需要向老师寻求这方面的反馈。现在,我找到了BMP的“像素阵列”部分,想好了从DIB题目解释的方式。通过设置所需的位置,可以将像素设置为白色。例如,它可能像这样简单:
pos=pixel _ array _ offset row _ size * y pixel _ size * x
数据[ pos 3360 pos3]=255、255、255
最后,将红色像素更改为白色后,您可以使用以下方法保存它:
用open(鸡蛋。BMP),(wb))为f:
f .写(数据)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。