LINUX.ORG.RU

Библиотека с алгоритмами для изображений

 , ,


1

4

Здравствуйте. Вопрос из Talks.

Вопрос в тему обработки изображений. Есть imagemagick/graphicsmagick, которые являются чуть ли не консольными фотошопами. А как всякие гимпы и криты реализуют различные фильтры? Например, устранение размытия, грейскейл и так далее? Неужели всё сами пишут? Сколько я смотрел исходники - вроде самописное.

Чего спрашиваю - есть желание упростить жизнь разработчикам редакторов и запилить либу, в который были бы всякие полезные фильтры, грейскейлы, бинаризации разные(а не только Оцу), автокропы и так далее. Но не знаю, нужно оно или нет. Если такое есть, то ткните плиз.

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

Ну установи «всякие криты и гимпы» и натрави на них ldd. Увидишь какие либы они используют. Если там ничего графического нет, то, значит, используют велосипеды.

MimisGotAPlan
()
Ответ на: комментарий от Norgat

Конечно. Но в opencv очень много чего нет. Как пример - с бинаризациями всё плохо, с автокропом беда и так далее. Есть opencv_contrib, там чуть веселее, но всё же много чего нет. Если и писать что-то своё, то я точно буду использовать opencv

zamazan4ik ★★
() автор топика
Ответ на: комментарий от anonymous

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

zamazan4ik ★★
() автор топика
Ответ на: комментарий от zamazan4ik

а что есть видео как не последовательность обработанных изображений :) там вполне дофига всяких интересных фильтров

Harald ★★★★★
()
Ответ на: комментарий от annulen

Boost.gil слаб, leptonica не вижу смысла юзать, если есть opencv (кроме пары случаев), imagemagick туда же. Libgd вообще слабенькая.

zamazan4ik ★★
() автор топика
Ответ на: комментарий от Harald

Ну оно то конечно так... Гляну потом, мб что полезного там есть

zamazan4ik ★★
() автор топика

Например простая задача - найти границы документа на изображении. Есть либа, которая даёт вам метод findBorders(const Image& image)?

zamazan4ik ★★
() автор топика
Ответ на: комментарий от zamazan4ik

Согласен. OpenCV это низкоуровневый слой с голыми алгоритмами. Будешь делать что-то делать - кастани, мне будет интересно.

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

Кстати, есть вариант неплохой contribute в opencv_contrib. Правда, например, в leptonica уже есть готовый алгоритм определения наклона страницы.

zamazan4ik ★★
() автор топика

Если нужна библиотека, насколько я помню imagemagick все свои плюшки в виде библиотеки имеет - бери и пользуйся. А гимпы свои велосипеды имеют.

peregrine ★★★★★
()

Нет такой. OpenCV — жирный тормозящий монстр (создатели, похоже, об оптимизации даже не задумывались). Еще есть всякие частные вроде leptonica, но там со скоростью еще плачевней.

Я себе все велосипедил сам. Вот, например (еще даже не альфа, а пре-альфа), и здесь тоже пришлось повелосипедить...

Особо проблематично, когда хочешь на куде реализовать что-то. Там вообще нет надежд на других!

anonymous
()
Ответ на: комментарий от anonymous

по сравнению с OpenCV слабо как-то. Меня интересует именно имплементация функционала, которого нет в либах.

zamazan4ik ★★
() автор топика
Ответ на: комментарий от peregrine

в imagemagick есть далеко не всё, к сожалению

zamazan4ik ★★
() автор топика
Ответ на: комментарий от Deathstalker

Интересно, но это не опенсорс. Меня именно интересует опенсорсные решения, в которые можно поконтрибьютить

zamazan4ik ★★
() автор топика
Ответ на: комментарий от thesame

Спасибо за ссылку, не знал о такой либе почему-то (хоть она и древняя). К сожалению, меня интересует более высокоуровневый функционал.

Хочется что-то из разряда Abbyy Image Processing SDK, только опен сорс. Мне кажется, что это была бы очень полезная либа, но я пока что не могу найти такого.

Что ж, буду рад восполнить пробелы.

zamazan4ik ★★
() автор топика
Последнее исправление: zamazan4ik (всего исправлений: 1)
Ответ на: комментарий от zamazan4ik

И что, теперь тебе нельзя контрибьютить? Весь iOS-код этого SDK, включающий в себя как код основного ViewController-а, так и код примера его использования, поставляется в исходном виде, а не в виде скомпилированной библиотеки. Ты можешь использовать и менять его как захочешь.

Deathstalker ★★★★★
()
Ответ на: комментарий от Deathstalker

И что, что можно? Когда они откроют ПОЛНОСТЬЮ весь свой SDK, тогда и поговорим. Со всем функционалом и всем-всем-всем под лицензией Mit, тогда можно будет писать. А пока что этот вариант не подходит.

Судя по ответам, такой либы, которая меня бы устраивала своим набором алгоритмов, нет.

Спасибо за ответы, тема закрыта.

zamazan4ik ★★
() автор топика
Ответ на: комментарий от Deathstalker

Да, это интересная либа. Правда она заточена не под обработку изображений, а под компьютерное зрение... Но всё равно спасибо, не знал о ней.

zamazan4ik ★★
() автор топика
Ответ на: комментарий от ox55ff

Да просто как пример привёл. В данном случае, это просто четырёхугольник, напоминающий параллелограмм или трапецию (перспективное искажение)

zamazan4ik ★★
() автор топика
Ответ на: комментарий от yoghurt

Это было давно, когда у меня еще то ли зюзя, то ли мандурива была.

Сейчас у меня гента, я без понятия, что там в OpenCV, тыкать его не собираюсь: там сишный интерфейс какой-то уж совсем убогий.

anonymous
()
Ответ на: комментарий от anonymous

Там давным-давно уже полноценный плюсовый интерфейс :) Вернее, само по себе оно на плюсах, а старый C API оставлен для совместимости

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Ну вот когда я пару лет назад смотрел, то сишный интерфейс был сильно кастрированным, т.е. мне от OpenCV ни горячо, ни холодно — как ее и не было бы!

anonymous
()
Ответ на: комментарий от yoghurt

О, не слыхал про такую. Как понадобится использовать какую-нибудь хитрожопую функцию, реализацию которой двумя страницами кода не описать, попробую оттуда — может что дельное там и есть...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.