Самый быстрый способ извлечь кусочки цветов на изображение .pgm?

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

Вопрос

У меня есть сотня 128 x 128 .pgm -файлов с некоторыми формами на них, и я думаю, что их цветов Мне нужно извлечь эти цвета для обработки изображений. Так что я хотел бы получить матрицу 128 x 128 с каждым элементом, имеющим значение от 0 до 255, предполагая пример 256 цветов.

Что касается языка, то в Python/Java/C# будет поступить, предпочтительно в таком порядке. Я могу использовать либо Windows, либо Linux, чтобы эксклюзивные библиотеки не являются проблемой.

Это было полезно?

Решение

Что касается решения Python, я считаю Пилот Поддерживает .pgm -файлы. В этом случае (используя Numpy в качестве контейнера для массива, но эта часть не является обязательной):

(Редактировать: Перечитайте свой вопрос и понял, что вы специально хотели GreyScale, а не RGB ... что я должен был реализовать из формата .pgm, в любом случае ...)

import Image
import numpy as np

im = Image.open('test.pgm')

# Convert to grayscale (single 8-bit band), if it's not already...
im = im.convert('L')

# "data" is a uint8 (0-255) numpy array...
data = np.asarray(im)

Другие советы

п окрашенный грамм луча М доступа Формат настолько тривиальен, что я бы посчитал честью написать анализатор для PGM -файлов на любом языке, который вам нужен. Каждое значение, чтение из файла PGM будет соответствовать RGB

255*Value/Max_Value
байт.

удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top