Do tej pory mam wrażenie, że matplotlib nie obsługuje opcji głębi bitowej. Jestem więc za pomocą ImageMagick do konwersji Posthoc obrazu:
convert -monochrome +dither A.tiff B.tiff
Kilka rzeczy będę wspomnieć w przypadku kogoś innego stara się zrobić podobnie:
Kiedy po raz pierwszy zmienił Głębia bitowa uruchamiając convert -monochrome A.tiff B.tiff
, czcionki wyglądały na niedopuszczalnie brzydkie (nawet przy 1000 DPI!). Było tak z powodu wygładzania, które domyślnie wykonuje matplotlib. Nie mogłem znaleźć żadnej opcji, aby to wyłączyć, ale jego negatywne skutki (gdy próbkowanie z obniżeniem DPI) może być w dużej mierze obejść poprzez umożliwienie ditheringu. Dlatego też, nawet jeśli istnieje , jest opcja zmiany DPI obrazu wyjściowego w matplotlib, nie jest użyteczna, chyba że wykonuje dithering lub jeśli nie ma również opcji wyłączenia wygładzania.
Krótka odpowiedź, proponuję każdemu, kto znajduje się w podobnej sytuacji, co ja, aby wykonać ich konwersję monochromatyczną posthoc, tak jak to zrobiłem.
Masz na myśli zapisanie do PNG? – mdurant
Tak naprawdę zapisuję w formacie TIFF, chociaż jestem zainteresowany odpowiedziami dotyczącymi dowolnego formatu rastrowego, w tym PNG. – sircolinton
Byłbym zaskoczony, gdyby program matplotlib obsługiwał taką opcję bezpośrednio, ale oczywiście zawsze można później konwertować obraz. Alternatywnie możesz użyć swojej ulubionej biblioteki obrazów Pythona, aby zapisać reprezentację obrazową tablicy numpy wygenerowaną z zawartości matplotlib. –