Python에서 이미지 크기를 조정하고 표시하는 가장 빠른 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/114597

문제

20fps 정도에서 int16의 2차원 numpy.array를 표시해야 합니다.10fps 이상의 모든 항목에서 Matplotlib의 imshow 초크를 사용합니다.스케일링과 보간에는 분명히 몇 가지 문제가 있습니다.배열의 크기는 알려지지 않았지만 아마도 30x400 정도일 것이라는 점을 덧붙여야겠습니다.

이는 실시간 표시가 가능한 센서의 데이터이므로 데이터를 즉시 다시 샘플링해야 합니다.

도움이 되었습니까?

해결책

30x400 데이터 포인트를 표시하는 가장 빠른 방법은 다음과 같습니다.

OpenGL 색상 배열 사용

데이터를 OpenGL이 색상 배열로 이해하는 것으로 신속하게 변환할 수 있다면 각 센서마다 하나씩 쿼드를 설명하는 정점 배열을 만든 다음 색상 배열을 업데이트하고 이를 화면에 직교적으로 그릴 수 있습니다.

OpenGL 텍스처 사용

데이터 포인트를 OpenGL 텍스처로 빠르게 변환할 수 있다면 이 텍스처에 바인딩된 고정 UV 좌표를 사용하여 쿼드 하나를 그릴 수 있습니다.

파이게임 사용

Pygame은 Numpy/Numarray를 표면으로 변환하는 기능을 지원합니다. 그런 다음 Pygame은 리샘플링을 포함하는 표면을 변환할 수 있으며, 리샘플링 후에는 화면에서 블릿할 수 있습니다.

기타

피글렛 OpenGL을 매우 쉽게 다룰 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top