Доброго времени.
К моему великому разочарованию не смог найти даже приближенно ответ у гигантов Google Yandex и их подобным, на простой, с виду, вопрос:
Есть PNG изображение, обычная картинка с кривой посередине, как можно прочитать координаты этой кривой построчно слева направо, имея ноль снизу слева как основа отчёта (понимая при этом, что изображение строится сверху слева).
пример:
http://tesis.lebedev.ru/upload_test/files/flares_20140919.png
в самом лучшем случае должен получиться текстовый файл, где идут координаты и цвет (как в примере интересуют координаты красной линии попиксельно)
в идеале это bash скрипт
Изучаем изображения через консоль
Вы, однако, затейник! Все пользуются для этого трассировкой растра в вектор. А тут такой пердюмонокль! Что ж, для начала декодируем по алгоритму Хаффмана, потом разжимаем LZ77, потом переводим в построчные байты, потом исключаем шум в виде лишних цветов и делаем строки битными, а потом любой школьник напишет скрипт анализа.
А какая глобальная задача? Мне кажется вы немного перемудрили с реализацией... А так то смотрите в сторону OCR, но без напильника тут не обойтись :)
А так то смотрите в сторону OCR
К сожалению оно никак в СПО и Линуксе.
К сожалению оно никак в СПО и Линуксе.
Неужели даже координаты и цвет точек не умеет определять? :)
Думаю вы таки немного недооцениваете его - еще, конечно, далеко до идеала но и не так плохо как вы думаете...
beliy, я работаю с компьютерной графикой ровно двадцать лет. С Линуксом - с конца прошлого века. С СПО - с момента возникновения. Всё так плохо и это факт. Мне это очень печально, но фактом от того это быть не перестаёт. Более того, OCR в принципе давно не развивается. Распознание образов - да, наша военная наука преуспела в этом более чем (для наведения ракет). Распознание символов текста: опять же наша, хоть и частная лавочка - впереди планеты всей. Но с трассировкой графики полная бЯда даже у несомненного лидера отрасли Corel. Поверьте или проверьте - править трассу растра мелкого разрешения дольше, чем сделать её руками.
А при чём тут OCR? Оно же не для графиков. Можно конвертировать png в bmp какой-нибудь
утилитой, одна так и называется - convert и не надо будет самому распаковывать картинку.
А затем уже самому написать программу, которая в bmp-файле ищет этот график по цвету
точек и выводит их координаты.
Пётр.
Peter, Вы и впрямь считаете, что если уже компрессированный формат перекинуть в lossless, то там восстановится всё как в оригинале? Ну типа PNG или JPEG в BMP или RLE?
А при чём тут OCR?
притом что любая OCR считывает координаты и цвет точек до распознавания, что, в принципе, и надо. Но как уже писал без напильника не обойтись. Хотя возможно есть и более простые способы...
beliy, я работаю с компьютерной графикой ровно двадцать лет. С Линуксом - с конца прошлого века. С СПО - с момента возникновения. Всё так плохо и это факт. Мне это очень печально, но фактом от того это быть не перестаёт. Более того, OCR в принципе давно не развивается. Распознание образов - да, наша военная наука преуспела в этом более чем (для наведения ракет). Распознание символов текста: опять же наша, хоть и частная лавочка - впереди планеты всей. Но с трассировкой графики полная бЯда даже у несомненного лидера отрасли Corel. Поверьте или проверьте - править трассу растра мелкого разрешения дольше, чем сделать её руками.
Я, конечно, уважаю ваш опыт и признаю что лично я с графикой на низком уровне не работал, но причем здесь трассировка графики, если судя по т3 преобразовывать в вектор не требуется?
если судя по т3 преобразовывать в вектор не требуется
Конечно не требуется, но это ж не я сказал OCR! :D Просто очевидно, что вектор привести к нужному цифровому выхлопу секунды, а долбаться с растром придётся примерно по тому алгоритму, что я обозначил в начале.
Конечно не требуется, но это ж не я сказал OCR!
Но то что я сказал тоже не подразумевает перевод в вектор... Если проанализировать принцип работы любой OCR, то все начинается с распознавания координат точек и их цветов, а уже далее применяются разнообразные механизмы оптимизации и распознавания. Но мы ведь можем используя наработки Open source проекта использовать только начальную стадию но с уже дальнейшими своими алгоритмами.
Повторюсь с графикой на низком уровне не работал и могу заблуждаться... К тому же было бы не плохо узнать глобальную задачу - вполне возможно что можно обойтись и без распознавания координат с готовой графики.
хм, а как же всем извесный motion работает? он же сравнивает сдедующий слайд с предыдущим, и из разницы делает вывод, изменилось что-то или нет. может это не совсем по теме, но разницы я не вижу, так как он работает с пикселями, и настройках можно указать поле за которым можно следить.
а уже далее применяются разнообразные механизмы
Механизмы далее значения не имеют. Уже на этой стадии современные механизмы OCR, даже проприетарные и самые совершенные сработают только при гарантированной контрастности растра. А это 1) высокое разрешение (чего в приведённом примере нет) 2) Высокая плотность контрастной заливки (что в приведённом примере, к счастью, есть)
может это не совсем по теме,
Вы правы. Даже совсем не по теме.
Peter, Вы и впрямь считаете, что если уже компрессированный формат перекинуть в lossless, то там восстановится всё как в оригинале? Ну типа PNG или JPEG в BMP или RLE?
Я считаю, что BMP анализировать просто, а как там восстановится и что считать оригиналом -
уже неважно, т.к. в наличии только PNG.
Пётр.
Я считаю, что BMP анализировать просто
Пётр.
Покажите пример! Научите нас, недостойных Вашего Знания! PNG-изображение дано топикстартером. Парсинг его - Ваш гуру-отчёт!
как там восстановится и что считать оригиналом - уже неважно
Ну конечно неважно для того, кто не имеет ни малейшего понятия о компьютерной графике, для того, кто абсолютно ничего не знает о форматах компрессии графических файлов, для того, кто вообще только губки надувает не умея ничего.
Не-Peter.
elektryk, т.е. нужно выдернуть координаты точек красной линии в примере?
[quote=Peter]Я считаю, что BMP анализировать просто
Пётр.
Покажите пример! Научите нас, недостойных Вашего Знания! PNG-изображение дано топикстартером. Парсинг его - Ваш гуру-отчёт!
как там восстановится и что считать оригиналом - уже неважно
Ну конечно неважно для того, кто не имеет ни малейшего понятия о компьютерной графике, для того, кто абсолютно ничего не знает о форматах компрессии графических файлов, для того, кто вообще только губки надувает не умея ничего.
Не-Peter.[/quote]
Я и не предлагал разбирать непосредственно PNG. Для его преобразования в BMP надо, разумеется,
воспользоваться существующей утилитой, а не придумывать свою.
Как восстановится - разумеется, неважно, потому что ничего другого нет,
кроме имеющегогося PNG. Лишь бы он распаковался.
Пётр.
Для его преобразования в BMP надо, разумеется,
воспользоваться существующей утилитой
Дорогой Петер! Если Вы взяли оригинал без потери качества и ОДИН РАЗ КОМПРЕССИРОВАЛИ, то обратно оригинальное качество Вы НИКОГДА НЕ УВИДИТЕ.
Смиритесь с законами Вселенной, где Вы вынуждены жить.
Если Вы взяли оригинал без потери качества и ОДИН РАЗ КОМПРЕССИРОВАЛИ, то обратно оригинальное качество Вы НИКОГДА НЕ УВИДИТЕ.
Причем здесь качество исходника (который когда-то был lossless), если исходник уже недоступен (есть то же изображение, но в формате с потерями)??? Вам же сказали:
Как восстановится - разумеется, неважно, потому что ничего другого нет, кроме имеющегося PNG. Лишь бы он распаковался.
Речь не о том, а в итоге, как всегда, один флуд.
elektryk, оно? http://paste.ubuntu.com/8461533/