LINUX.ORG.RU

Ищу специфическую реализацию фильтра размытия по Гауссу

 , ,


2

4

Нужен фильтр асимметричного (для каждой оси свой коэффициент) размытия по Гауссу с поддержкой linearRGB. Именно такое чудо-юдо требует спека SVG.

Насколько я знаю, только Inkscape и Chrome умеют это. Возможно уже и лиса научилась, не проверял. Инфа тут.

Проблема в том, что мало того, что для этого нужен fixed-point arithmetic, так ещё и примеров/манов для простых смертных я найти не смог.

Есть реализация Inkscape, но она под GPL.

Поэтому вопроса ровно два:

  1. Есть ли у кого-то готовая реализация на любом языке и под удобной лицензией?
  2. Считается ли нарушением GPL если я портирую код на другой язык?

Считается ли нарушением GPL если я портирую код на другой язык?

если откроешь код, то не считается наверное.

dikiy ★★☆☆☆ ()

Считается ли нарушением GPL если я портирую код на другой язык?

Да помилуйте! Нет, конечно, это же свободная лицензия.

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

Да помилуйте! Нет, конечно, это же свободная лицензия.

Тут вопрос специфический. На GNU такое разъяснение:

What does the GPL say about translating some code to a different programming language?

Under copyright law, translation of a work is considered a kind of modification. Therefore, what the GPL says about modified versions applies also to translated versions.

(c) https://www.gnu.org/licenses/gpl-faq.en.html#TranslateCode

Вопрос в том, какую лицензию тогда может иметь такой код.

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

У меня ... под MPL2

Вы решили не сообщать, на каких условиях интересующая вас программка в Инкскейпе. Но тут пишут, что в ней есть части из Гимпа под третьей (или более поздней) GNU GPL, что значит, что она вся, по идее, должна быть с ней совместима.

Что значит, что она должна быть вся совместима и со второй Mozilla PL, если только та прямо не сообщает обратного. (MPL — это такая дурная лицензия, что существует в настолько разных вариантах под одним и тем же именем.)

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

Считается ли нарушением GPL если я портирую код на другой язык?

Да помилуйте! Нет, конечно, это же свободная лицензия.

Тут вопрос специфический.

Никакой специфики! Любая¹ лицензия свободных программ разрешает изменять труд *любым* образом на свое усмотрение. Программа, что воспрещено переводить на другой язык, просто несвободна.

Вопрос в том, какую лицензию тогда может иметь такой [переведенный] код.

А там должно быть явно написано. Ту же версию GNU GPL несомненно, а возможно, и более позднюю.

___
¹ Есть несколько очень старых и очень маргинальных лицензий для программ, что разрешают распространять изменения только в виде разниц. И они таки признаются свободными. Это нисколько не противоречит тому, что я сказал формально, но в прикладном смысле, конечно, представляет серьезную помеху.

Это ни в коем случае не имеет никакого отношения ни к каким лицензии ГНУ, а значит и ни к каким совместимым.

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

Никакой специфики! Любая¹ лицензия свободных программ разрешает изменять труд *любым* образом на свое усмотрение. Программа, что воспрещено переводить на другой язык, просто несвободна.

Я не об этом! Видимо, я неправильно понят. Я веду речь о том, что многие могут посчитать трансляцию с одного языка на другой возможностью выйти из-под действия лицензии GPL. У меня эта тема вызывает некоторые вопросы. ТС же хочет другую лицензию. И вопрос про переписывание на другой язык спрашивает. И вот это как раз вопрос со спецификой.

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

Видимо, я неправильно понят.

Надо так думать.

многие могут посчитать трансляцию с одного языка на другой возможностью выйти из-под действия [авторского права]

Мне кажется вы серьезно недооцениваете людскую разумность.

Впрочем, будучи неисправимый оптимистом, я могу тут серьезно ошибаться. :-)

У меня эта тема вызывает некоторые вопросы.

Я буду рад постараться на них ответить в меру своих скромных сил.

Zmicier ★★★★★ ()

Считается ли нарушением GPL если я портирую код на другой язык?

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

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

Считается ли нарушением GPL если я портирую код на другой язык?

Если перепишешь слово-в-слово - то, скорее всего, да.

С какого?!

Вызывающе ложная информация.

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

скромно плюс поставлю :-)

и там приведена ссылка на алгоритм, который не подпадает под лицезирование (по крайней мере в России :-) )

// IIR filtering method based on:
// L.J. van Vliet, I.T. Young, and P.W. Verbeek, Recursive Gaussian Derivative Filters,
// in: A.K. Jain, S. Venkatesh, B.C. Lovell (eds.),
// ICPR'98, Proc. 14th Int. Conference on Pattern Recognition (Brisbane, Aug. 16-20),
// IEEE Computer Society Press, Los Alamitos, 1998, 509-514.
вполне можно прочитав сие и глядя на открытую реализацию делать своё и лучшее. Право читать есть у всех

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

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

Да. Вроде, когда используют информацию, полученную из кусочка кода под неподходящей лицензией, тогда пишут inspired by (c).

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

и там приведена ссылка на алгоритм, который не подпадает под лицезирование (по крайней мере в России :-) )

В каком смысле? Можно поподробнее?

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

Вы решили не сообщать, на каких условиях интересующая вас программка в Инкскейпе.

GPL же, всё написано.

MPL — это такая дурная лицензия, что существует в настолько разных вариантах под одним и тем же именем

Шта? Она ровно одна и одобрена FSF.

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

Ну 1-в-1 не будет, ибо язык другой.

В общем рискну. 100500 раз укажу что код основан на Inkscape, а там видно будет.

Сомневаюсь, что у них будут претензии по-поводу 500 строк. Я же не весь Ink форкнуть пытаюсь.

RazrFalcon ★★★★★ ()

Я делал у себя размытие для глифов, софтовое. Ну и в процессе вывел как можно задавать для X и Y разные значения размытия.

Так возьми реализацию из инкшкейпа. Я не думаю, что на тебя кто-то обидится за код. Напишешь Insipired by Inkscape code, и всё такое. Да и норм.

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

Готовые асимметричные фильтры я нашел, но они или вообще левый результат дают и/или не умеют в linearRGB.

У меня же проблема в том, что мне нужна реализация, которая будет давать вполне конкретный результат, а не просто размытие.

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

О господи... А еще выше писали (если вы почему-то не в курсе), что GNU GPL — это свободная лицензия, и она прямо *позволяет* создавать производные работы. Она ровно для этого изобретена — чтобы это право оберегать.

Вы же, ответив на вопрос «Считается ли нарушением GPL если я портирую код на другой язык?» словами «Если перепишешь слово-в-слово, то, скорее всего, да», — пусть и под сомнением, но сообщили вызывающе ложную информацию. Не надо так делать, хорошо?

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

Вы решили не сообщать, на каких условиях интересующая вас программка в Инкскейпе.

GPL же

Вы не вдумчиво читаете, что вам пишут:

«Вы решили не сообщать, на каких условиях интересующая вас программка в Инкскейпе. Но тут пишут, что в ней есть части из Гимпа под _третьей (или более поздней) GNU GPL_, что значит, что она вся, по идее, должна быть с ней совместима».

всё написано.

Где? В Инкскейпе? Конечно, должно быть написано. Вы хотели, чтобы за вами повторно поискали там этот кусочек?

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

[Вторая] MPL — это такая дурная лицензия, что существует в настолько разных вариантах под одним и тем же именем

Шта?

Та.

Она ровно одна

Нет же, перечитайте ее еще раз. Она возможна по меньшей мере в двух вариантах, причем в принципиально различных: совместимая с третьей GNU (A)GPL и нет.

и одобрена FSF

В каком смысле? Насколько я знаю, ФСПО не делает с лицензиями ничего, что можно было бы назвать «одобрением».

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

В общем рискну. ... Сомневаюсь, что у них будут претензии по-поводу 500 строк.

Да черт побери, в чем тут риск? Какие претензии?

Вы собираетесь игнорировать свои права? Зачем?

Zmicier ★★★★★ ()
Последнее исправление: Zmicier (всего исправлений: 2)

Считается ли нарушением GPL если я портирую код на другой язык?

Считается, это производная работа.

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

Сомневаюсь, что у них будут претензии по-поводу 500 строк. Я же не весь Ink форкнуть пытаюсь.

То есть если не весь кошелёк дёрнуть, а только купюрку из него - норм? Претензии будут, не сомневайся.

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

пишут что GPL compatible

Это означает только то что код под совместимой лицензией можно линковать с кодом под GPL, но никак не то что лицензию можно менять на любую из совместимых.

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

Считается ли нарушением GPL если я портирую код на другой язык?

Считается

Да мать вашу! Чем вы все упарываетесь?

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

Это означает только то что код под совместимой лицензией можно линковать

Да нет же! Откуда тут «линковать»? Полная GNU GPL (в отличие от Малой) никак не выделяет линковку. Что можно линковать, можно и совместить любым иным образом.

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

Само собой. Какая вообще свободная лицензия (кроме чего-нибудь типа WTFPL) позволяет ее *менять* на все, что вам заблагорассудится — в смысле брать и игнорировать ее условия?

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

MIT, достаточно копирайта
[Массачуссетский технологический институт], достаточно [авторского права]

Это что? Ответ на вопрос «Какая лицензия для программ позволяет игнорировать ее условия?»?

То есть одна из т. н. «лицензий МТИ»? Какая? Мне лень перечитывать все пару десятков [0], но самая распространенная — лицензия Экспата [1] — та ни в коем случае, в ней есть условия, и игнорировать вы их не должны.

[0] https://fedoraproject.org/wiki/Licensing:MIT
[1] https://directory.fsf.org/wiki/License:Expat

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

Хватит упарываться, автор же явно сказал что будет релизить результат под лицензией по своему выбору

anonymous ()

асимметричного (для каждой оси свой коэффициент) размытия по Гауссу

достаточно размыть по X и Y в любом порядке, Гаусс разрешает

с поддержкой linearRGB

преобразовать попиксельно, размыть, преобразовать обратно

anonymous ()

Если ты распишешь алгоритм по шагам, и кто то напишет по нему реализацию — это будет отдельная реализация.

Алгоритм может быть описан до ужаса подробно. И так много кто выкручивается.

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

ТС: Считается ли нарушением GPL если я портирую код на другой язык?

Если после этого код под ГПЛ открыт не будет - это нарушение.

По-моему, вся проблема в том, что в то время как Zmicier отвечает именно на поставленный вопрос, большинство, включая меня, подсознательно исправили вопрос на то, что, очевидно, имел ввиду ТС: «Считается ли нарушением GPL, если я опубликую портированный GPL-код под отличной от GPL лицензией?» И обсуждают именно его. Ответ на оригинальный вопрос: конечно, нет. А на имевшийся ввиду как раз наоборот: скорее всего да, но, может быть всё таки нет, если код по своему объёму и содержанию просто не подлежит лицензированию, т.к. является (почти) тривиальной реализацией общественно известного.

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

В том-то и дело. Код мне не нужен. Нужен алгоритм, который и так публично доступен. Просто я не силён в матане чтобы самому его транслировать. Мне проще из C++ переделать.

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

Читай внимательнее тему.

«Ищу специфическую реализацию фильтра размытия по Гауссу».

Если после этого код под ГПЛ открыт не будет — это нарушение.

А вы что́ написали?

(Не говоря, уж о том, что и это довольно мутная формулировка.)

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

автор же явно сказал что будет релизить результат под лицензией по своему выбору

«Ну 1-в-1 не будет, ибо язык другой.

В общем рискну. 100500 раз укажу что код основан на Inkscape, а там видно будет.

Сомневаюсь, что у них будут претензии по-поводу 500 строк. Я же не весь Ink форкнуть пытаюсь.»

Хватит упарываться

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

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