Как мне разделить мой 800x480 5-дюймовый экран на 2 части - PullRequest
1 голос
/ 20 марта 2020

Я создаю автономную гарнитуру VR, используя модель Raspberry Pi 3 b. У меня проблема с разделением экрана, как мы видим на нашем телефоне. Я все еще изучаю Python, поэтому у меня нет большого представления о том, как это сделать.

Здесь, в этом коде, я пытался решить вышеупомянутую проблему, но когда я запускаю этот код на Raspbian происходит ошибка, что функция ImageGrab работает только на Windows и Ma c. Я также пытался использовать модуль pyscreenshot, хотя он справедливо работает на моем экране P C, когда я подключаю его к своему 5-дюймовому экрану, открывается черное окно, и я ничего не вижу.

import numpy as np
from PIL import ImageGrab
import cv2
import time

while(True):
screen = np.array(ImageGrab.grab(bbox=(920,420,1320,900)))
frame = cv2.cvtColor(screen, cv2.COLOR_BGR2RGB)
frame = cv2.resize(frame, (0, 0), None, 1, .83)
numpy_horizontal = np.hstack((frame,frame))
#cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN)
#cv2.setWindowProperty("window", cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
cv2.imshow('window',numpy_horizontal)

if cv2.waitKey(25) & 0xFF == ord('q'):
    cv2.destroyAllWindows()
    break

1 Ответ

0 голосов
/ 24 марта 2020

Ваша проблема не в разделении экрана, а в отображении изображения на экране. Таким образом, вам нужна библиотека, чтобы сделать это. В вашем примере вы используете OpenCV. Обычно это плохой выбор, и он полезен только для простой отладки. Вам нужна правильная библиотека GUI.

Здесь у вас есть множество вариантов. Если вы в играх, я бы посмотрел на moderngl и moderngl-window. Это основано на PySide2, и, насколько я видел, Raspberry Pi теперь поддерживает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...