Я пытаюсь отобразить изображение с таким же разрешением, что и у моего экрана (1920x1080) таким образом, чтобы каждый пиксель в изображении соответствовал ровно одному пикселю на экране, то есть в полноэкранном режиме и без рамки.
Я перепробовал все распространенные опции от tkinter и opencv до matplotlib. В tkinter и opencv я смог получить «полноэкранное» изображение, но не смог избавиться от границы в 1 или 2 пикселя, что привело к тому, что изображение было немного растянуто, что побеждало цель.
Альтернативным решением было бы получить точные размеры окна в пикселях, чтобы немного обрезать изображение, чтобы восстановить отображение 1: 1 между пикселями, что я тоже не смог сделать (я попытался использовать matplotlib и opencv).
Вот что я пытался использовать opencv:
import numpy as np
import cv2
# insert height and width of your monitor here
dim = (1080, 1920)
# generate an image the size of the monitor with black and white vertical
# one pixel wide stripes
img = np.fromfunction(lambda i, j: i % 2, dim)
# show image in "fullscreen"
cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty("window", cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
cv2.imshow("window", img)
cv2.waitKey()
Полученное изображение должно выглядеть равномерно серым. С этой реализацией (и аналогичными другими) изображение визуально окантовано, потому что оно слегка сжато.