Powinno to być komentarz do this thread, ale najwyraźniej jest zamknięty, więc tutaj jest. Z powodzeniem radzę sobie z matplotlib i numpy oraz mencoder, jak to sugerowano tutaj. Od tego czasu adoptowałem Voki Codder buffer to stdin solution, co znacznie przyspiesza cały proces. Chodzi o to, że nie mogłem znaleźć żadnej dokumentacji w części -format = "bgra" polecenia. Oznacza to, że bajty są od prawej do lewej niebiesko-zielonej czerwonej alfa, po prawej. Czy muszą to być uint32 lub coś innego. Problem polega na tym, że kreślę mapy kolorów, więc próbuję przekonwertować je na skalę szarości, ale dostaję mnóstwo dziwnych wzorców, które każą mi mocno wierzyć, że robię coś złego. Napisałem tę funkcję, aby przekonwertować z float na uint32 w zakresie. Ale rezultatem tego nie jest, dlaczego się spodziewałem, czy robię coś okropnie głupiego?Wypisywanie bezpośrednio do filmu z numpy i mencoderem
def grayscale(x, min, max):
return np.uint32((x-min)/(max-min)*0xffffff)
cool, więc najlepiej byłoby zrobić coś takiego def skali szarości (x, min, max): t = INT_MAX * (x-min)/(max-min) return np.uint8 (t) * 0x1 + np.uint8 (t) * 0x100 + np.uint8 (x) * 0x10000 + 0x0f000000, gdzie int_max woul d być maksymalną wartością 8-bitowych znaków. –
@Alex - Zobacz zmiany. Mam nadzieję, że to trochę wyjaśnia! –
Świetne rzeczy Joe, teraz testuję, ale myślę, że mam go teraz, bajt prawdopodobnie wykona lewę! Dzięki za tonę! Alex. –