Я пытаюсь сделать специальную решетку под названием патч Gabor, пример которой можно найти в нижней части этот учебник код которого я портировал на python.
Используя функцию matplotlib imshow
, я получаю следующий патч.
Пока цвет отличается, я подозреваю, что это связано с тем, как matplotlib отображает числовые значения. По сути, это изображение представляет собой 2D, 100-на-100 пиксельный массив, содержащий значения от -1.0
до 1.0
(включительно). Если кто-то хочет попробовать манипулировать рассматриваемым массивом, я сохранил его как объект рассола здесь.
Мой вопрос следующий:. Как передать этот массив на поверхность pygame, гарантируя выполнение следующих условий?
- Раскраска преобразуется в оттенки серого (c.f.: последнее изображение в первой ссылке)
- Решение должно использовать версию pygame
1.9.1release
. По какой-то необъяснимой причине я не могу найти способ установить1.9.2
на мою ОС (Ubuntu 13.04). Кажется, что нет PPA, и pygame, очевидно, не относится к PIP.
Спасибо вам большое заблаговременно, и, пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию!
Edit
Что касается решения @Veedrac (что очень похоже на мое собственное), вот как выглядит мой патч при использовании цветовой шкалы оттенков серого в matplotlib imshow
. Это то, что мне хотелось:
from matplotlib.pyplot import *
import matplotlib.cm as cm
figure()
imshow(g, cm=cm.Greys_r)
show()