Могу ли я получить числовые данные из цветовой карты?

Вопрос или проблема

В моем классе мне часто нужно работать с изображениями цветовых карт. Я показываю изображение и пытаюсь делать выводы/наблюдения по разным предметам. Часто мне нужно действительно количественно оценить некоторые аспекты, но это всегда очень приблизительно и как-то расплывчато, потому что изображения предоставляются “как есть”, и я не обязательно знаю их содержание заранее.

Давайте предположим, что я работаю с двумя изображениями (*). Возможно ли указать компьютеру “выучить” шкалу цветов, чтобы я мог нажать на любую точку на карте и получить значение высоты в этой точке? Изображение 1 – это дискретная шкала цветов, а Изображение 2 имеет непрерывное цветовое отображение. Я включил оба примера, потому что, возможно, есть различия в подходе к тому, как это сделать.

Итак, есть ли какое-либо программное обеспечение или способ сделать это? Предпочтительно с открытым исходным кодом. Я пробовал ImageJ и не смог найти достойного решения.

Изображение 1:

Изображение 1

Изображение 2:

Изображение 2
(источник: topocreator.com)

Как вы можете видеть, цветовая шкала является частью изображения во всех случаях.

(*) Я не владею ни одним из этих изображений, это просто примеры, которые я нашел в Интернете, чтобы проиллюстрировать свою точку зрения.

Возможно, вы можете попробовать некоторые обходные пути (сначала вручную, затем программно):

  1. Конвертировать в оттенки серого
  2. Создать карту плотности (цифровую)
  3. Трассировать=векторизировать изображение с помощью Inkscape / Illustrator / и т.д.
  4. Сопоставить векторные части с значениями карты плотности.

Вы можете написать js-скрипт для Adobe Illustrator (возможно, также для Gimp), чтобы автоматизировать некоторые вещи. Я не предлагаю тратить деньги, просто поиграйте с демо-версией, пока не найдете идеальное решение.

Также, возможно, вы можете попробовать любой онлайн-API от Big4 или новых участников:

Также есть некоторые коммерческие программы с бесплатными вариантами
например imagga – “Подписаться бесплатно: до 2000 изображений в месяц”

Вы можете попробовать демо-версию Vector Magic’s Desktop edition за $295.00 / лицензия, которая позволяет группировать формы по цвету (к сожалению, не предлагает специальных цен для академических учреждений или некоммерческих организаций)

Также пробовали ли вы FreeMat COLORMAP – функцию цветовой карты изображения?

Вы можете использовать что-то вроде Color Picker, чтобы вручную найти HTML, RGB или HSV значения.

В моем классе мне часто нужно работать с изображениями цветовых карт. Я показывал изображение и пытался делать выводы/наблюдения по разным предметам. Часто мне нужно действительно количественно оценить некоторые аспекты, но это всегда очень приблизительно и как-то расплывчато, потому что изображения предоставляются “как есть”, и я не обязательно знаю их содержание заранее. Это напоминает мне о проекте, где мне нужно было анализировать старые диаграммы для исследовательской презентации. Изображения предоставлялись в формате JPG, но мне нужно было привести их в более чистый формат, чтобы выделить определенные области и корректировать детали. В этом случае конвертация JPG в вектор стала спасением. Конвертация изображений в векторный формат позволила изолировать элементы, точно количественно оценить размеры и даже перекрасить участки для повышения ясности. Это полностью изменило то, как я представил свои наблюдения!

.

Ответ или решение

Конечно, получить численные данные из цветовой карты можно. В ситуации, когда вы работаете с изображениями, где цветовая шкала является частью самой карты, определить количественные значения, такие как высота, вполне реально. Рассмотрим методы, которые вы можете использовать для достижения этой цели, включая использование программного обеспечения с открытым исходным кодом.

Определение цвета и масштабирование значений

Для извлечения численных данных из цветовой карты необходимо определить зависимость между цветами и реальными значениями, такими как высота на топографической карте. Прежде всего, вы должны извлечь цветовую шкалу из изображения, чтобы узнать, как каждый цвет ассоциируется с конкретными значениями.

  1. Извлечение цветовой шкалы:

    • Если цветовая шкала известна и включена в изображение, вы можете использовать программное обеспечение, такое как GIMP или Inkscape, для ручного извлечения цвета и сопоставления каждого цвета с соответствующим численным значением.
    • Для автоматизации извлечения цветовой шкалы можно использовать скрипты на Python с библиотеками OpenCV и NumPy.
  2. Обработка изображений и определение цвета:

    • Обработка изображений с использованием библиотек, таких как OpenCV, позволит вам находить цвет в любой точке изображения и сопоставлять его с известными значениями из цветовой шкалы.
    • Реализуйте алгоритм, который распознаёт как дискретные, так и непрерывные цветовые шкалы. Для дискретных шкал достаточно получить соответствие цвет-значение, в то время как для непрерывных может понадобиться интерполяция.

Программные инструменты

  1. Python и библиотеки для обработки изображений:

    • Используйте OpenCV для считывания изображений и извлечения цветовых значений.
    • Пакет Matplotlib поможет визуализировать результаты и сопоставить цвета с численными значениями.
  2. TensorFlow для распознавания паттернов:

    • Платформы машинного обучения, такие как TensorFlow, способны помочь в создании модели, референтной для конкретного типа цветовой карты, особенно если используется непрерывная цветовая шкала.
  3. Пакеты для анализа данных:

    • Используйте Pandas для организации и обработки полученных данных.

Практическая реализация

  1. Сначала извлеките и определите цвета на изображении с помощью цветовых пипеток для определения RGB значений.
  2. Напишите код, который берет RGB значения и сопоставляет их с соответствующими численными значениями.
  3. Создайте графический интерфейс пользователя (GUI) с использованием библиотеки Tkinter или PyQt для легкой интерактивности с изображениями, что позволит просто кликать по изображению и получать значения.

Используйте эти методы и инструменты для анализа цветовой карты, и тогда у вас появится возможность точно определять и интерпретировать численные данные, которые вы получаете из изображений. Это мощный и доступный подход, который можно адаптировать к различным типам цветовых карт и данных.

Оцените материал
Добавить комментарий

Капча загружается...