gpt4 book ai didi

python - OLED 显示屏调整图像大小困难

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:45 24 4
gpt4 key购买 nike

我正在尝试调整图像大小以在我的 OLED 设备上显示。

我想要显示的图像是: enter image description here

目前,我的 OLED 显示屏仅显示图像的一小部分: enter image description here

基于How to resize image? ,我在脚本中添加了 new_img = img.resize((128,128)) 来调整图像大小。然而,图像的相同部分出现在屏幕上。当我尝试为调整大小参数输入较小的图像尺寸(64x64)时,终端打印:

pi@raspberrypi:~/project $ python colors.py --display ssd1351 --width 128 --height 128 --interface spi --spi-bus-speed 16000000 --gpio-data-command 20
Version: luma.oled 2.3.1 (luma.core 1.3.0)
Display: ssd1351
Interface: spi
Dimensions: 128 x 128
------------------------------------------------------------
Traceback (most recent call last):
File "colors.py", line 87, in <module>
main()
File "colors.py", line 30, in main
device.display(new_img)
File "/usr/local/lib/python2.7/dist-packages/luma/oled/device.py", line 371, in display
assert(image.size == self.size)
AssertionError

关于如何为 OLED 显示屏正确调整图像大小有什么想法吗?

我的完整脚本是:

#!/usr/bin/env python

import math
import time
import random
import os.path
from demo_opts import get_device
from luma.core.render import canvas
from PIL import Image


def main():
img_path = os.path.abspath(os.path.join(
os.path.dirname(__file__), 'plot.jpg'))
img = Image.open(img_path) \
.transform(device.size, Image.AFFINE, (1, 0, 0, 0, 1, 0), Image.BILINEAR) \
.convert(device.mode)
new_img = img.resize((128,128))

while True:
# Image display
device.display(new_img)
time.sleep(5)



if __name__ == "__main__":
try:
device = get_device()
main()
except KeyboardInterrupt:
pass

最佳答案

好的,我通过这样做解决了这个问题:

img = Image.open(img_path)  
img = img.resize((128, 128), Image.ANTIALIAS) \
.transform(device.size, Image.AFFINE, (1, 0, 0, 0, 1, 0), Image.BILINEAR) \
.convert(device.mode)

因此,在运行变换和转换之前,请先调整图像大小。

关于python - OLED 显示屏调整图像大小困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48380663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com