На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
В этом разделе решаются вопросы, касающиеся векторной/растровой графики, а также 3D-редакторов.
Вопросы по программированию графики (работу с графическими форматами, распознавание изображений и т.д.) - просьба создавать в разделе Программирование графики.

Обучающие материалы: PhotoShop, PhotoPaint, ... растровая графика, Corel DRAW, Illustrator, ... векторная графика, 3D графика, 3D-анимация
Модераторы: Tri Repetae, Serafim
  
> защита изображений от воровства
    Существует ли способ защиты картинок (jpg) от воровства, чтобы можно было потом доказать своё авторство? Я думал сначала делать едва-едва видимые штрихи на картинке, которые не были бы видны при оригинальном размере, но при большом увеличении (700-1000%) эти заметки можно было бы увидеть..но на практике этот метод оказался нерабочим, т.к. ОЧЕНЬ мало можно нанести на картинку, да и чуть-чуть все-таки, да видно, что там что-то написано..
    Может, кто-то знает другие более действенные методы защиты?
      стеганография
        Полупрозрачная надпись по всей картинку! Обзору не мешает, а от воровства защитит!
          мыш, поподробнее, плз!
          Chups, каким образом? Я делал прозрачность более чем на 70%, всё равно видно надпись!
            dark0ut, http://www.yandex.ru/yandsearch?rpt=rad&text=%F1%F2%E5%E3%E0%ED%EE%E3%F0%E0%F4%E8%FF, подробнее некуда :P
              Фотошопа под рукой не оказалось! Вот сделал в 3DS Max'е!
              Сообщение отредактировано: Chups -

              Прикреплённая картинка
              Прикреплённая картинка
                Chups, нет, ты меня не понял! Смысл в том, чтобы этого совсем не было видно! Так можно делать, просто выкладывая авторские фотки и где-нить в углу писать чьи это фотки..либо как ты сделал по всей картинке. Мне же нужно было другое. Конкретно мой пример: я делал сайт на заказ, рисовал элементы дизайна, затем отдавал заказчику на просмотр. Он мог сказать, что его всё не устраивает и нужно всё передеывать, а тем временем он взял бы и выдал моё творение за своё!

                Поэтому мне нужны какие-л. невидимые или почти невидимые знаки на картинке, что доказать,что картинки действительно мои! Не могу же я по всей менюшке или логотипу пустить такую огромную надпись, типа как "Образец" на купюрах =))

                мыш, большое 10х! Пойду изучать! ;)
                Сообщение отредактировано: dark0ut -
                  Фотожоп "водяные знаки" умеет ставить каким-то из фильтров, говорят даже сканирование распечатки не помогает от них избавится...
                    Watermark называется! Но от него Принт Скрин действует!
                      Да, у мя был фильтр этот. Только вот чтобы их увидеть надо тоже иметь этот фильтр! Просто так не увидишь..
                        dark0ut, я тоже над этим думал. И вот что надумал. Предположим, у нас фрагмент на картинке чёрный (#000000 в коде HTML). Тогда почему бы не сделать на нём надпись цвета #000001? Тогда разница не будет заметна визуально, но в случае чего, можно сделать постеризацию твоей картинки и всё это увидеть. Конечно пример утрирован, но идея, думаю, ясна.

                        Но при использовании подобного подхода, нужно точно знать, с какой палитрой сохраняется картинка, и не будет ли такая защита затёрта оптимизацией.
                          EL[michlen], да, так можно сделать. Вот только это подойдет, если достаточно большой фрагмент картинки будет ГАРАНТИРОВАНО одного цвета. А как быть, если у меня пестрая картинка? Тем более, что большинство изображений используют градиент, поэтому там как правило не бывает областей с одинаковым цветом..
                            Цитата dark0ut @
                            А как быть, если у меня пестрая картинка?
                            Так это не намного сложнее =)

                            Скажем, у нас градиент. Мы накладываем надпись таким образом, что каждая точка градиента, на которую ляжет эта надпись, меняет цвет на +1 по тому же принципу. Программно это сделать не трудно.

                            Добавлено
                            Но всё это теория, я не делал этого на практике. Но задумка мне кажется интересной, вот только не верится мне, что я первый до этого додумался... :wall: Поправьте меня, кто этим занимался!
                              EL[michlen], я думаю мало кто этим занимался =) Все молчат =) Так что надо попробовать самим! Что скажешь?
                                Скажу... В общем можно на досуге. Получается, задача написать функцию, которая будет накладывать надпись на картинку с разницей в цвете на одно-два значения RGB, а также функцию, которая будет это дело распознавать, что сложнее. Задачка кажется интересной, особенно её вторая часть.

                                Для упрощения распознавания предлагаю в качестве входных данных давать текст, который мы и писали на этой картинке. Шрифт берём 100% одинаковый, иначе у нас получится тот же Finereader, только круче =))

                                Кстати, не обязательно использовать текст. Можно вставлять некий набор точек, или ещё что-нибудь. В общем, будем думать и, возможно, делать. ;)

                                Насчёт проверки на практике. Вот у меня в аттаче синенький квадратик. А на нём что-то написано! =)
                                Прикреплённая картинка
                                Прикреплённая картинка
                                  EL[michlen], "test" там написано =) #0E2970 (цвет фона) и #0E2971 (цвет текста) ;)
                                  Сообщение отредактировано: dark0ut -
                                    dark0ut, вот видишь, разобрать при желании можно, а если не знать об этой недозащите, то и не видно =))
                                      EL[michlen], это точно! Если я б не знал, что там что-то написано, точно не догадался бы..да вообще в голову такая мысль не пришла бы!
                                        Может, программно запихать свою информацию в EXIF ?
                                          Тоже мысль =) Хотя тоже просто от этого избавиться.
                                            Гхм... При максимальном приближении эту надпись видно невооруженным глазом!
                                              Астарот, никто не отрицает. Но если ты не знаешь, что там что-то написано, а тем более, если написать её помельче, не думаю, что ты что-то там заметишь.
                                                Да я к тому, что не стойкая эта штука - в прямрм виде надписи накладывать. Лучше будет по какому-то алгоритму располагать на картинке точки с чуть смещенными параметрами цвета, а потом их собирать, и... и... и чего-нибудь там с ними делать, во!
                                                В общем уходите от надписи в явном виде - при практически любой работе с цветом она сразу вылезет наружу, а амба :(
                                                  Астарот, ты прав, но я об этом уже сказал:
                                                  Цитата EL[michlen] @
                                                  Кстати, не обязательно использовать текст. Можно вставлять некий набор точек, или ещё что-нибудь.
                                                    ребята, вы опоздали... стеганография давно и неплохо исследована, в этом можно убедиться поГуглив...

                                                    самая известная это Steganos Security Suite, но есть и много других...
                                                      EL[michlen], проглядел очевидно :)

                                                      Цитата Max404 @
                                                      ребята, вы опоздали...

                                                      А ну ша! :) Люди творят сами, свое, так что пусть творят, авось натворят чего-нить.
                                                        Цитата Астарот @
                                                        Лучше будет по какому-то алгоритму располагать на картинке точки с чуть смещенными параметрами цвета, а потом их собирать, и... и... и чего-нибудь там с ними делать, во!

                                                        :yes:, только надо придумать, как это реализовать...
                                                          Цитата dark0ut @
                                                          только надо придумать, как это реализовать...
                                                          Я знаю, я знаю! (усиленно тянет руку к потолку) ;)

                                                          Только нужно ли это в реале? В смысле, неужели не достаточно того, что уже сделали?
                                                          Сообщение отредактировано: EL[michlen] -
                                                            EL[michlen], ну не знаю, что тебе сказать...Конечно можно обойтись тем, что есть..Но если бы все так рассуждали, то мы сейчас сидели бы под DOS-ом или еще чем-нить более ранним и юзали Paint вместо PS.
                                                              http://securengine.isecurelabs.com/features.htm
                                                              (Data is embeded in all complex zones of the picture.)

                                                              а вообще - http://www.securitylab.ru/?ID=37343&R=0.ML.CGI


                                                              Цитата dark0ut @
                                                              Конечно можно обойтись тем, что есть..Но если бы все так рассуждали, то мы сейчас сидели бы под DOS-ом или еще чем-нить более ранним и юзали Paint вместо PS.


                                                              да, движение должно быть, но не стоит тратить силы на ИЗОБРЕТЕНИЕ велосипеда, когда вокруг ездят на мотоциклах...
                                                                Практически не обнаруживаемый способ, правда, не стойкий к фильтрованию.
                                                                Пусть нужно внести нек. битовую последовательность.
                                                                1) С помощью датчика псевдослучайных чисел задать последовательность номеров изменяемых точек изображения.
                                                                2) Дальше внедряем биты: если 0, то округляем цвет соотв. точки, до ближайшего четного, 1 - до нечетного.
                                                                  nvm, а как ты собираешься извлекать это? :blink: Ведь надо, чтобы потом можно было легко (!) проверить это!
                                                                    Пореж картинку на мозайку. Кусочков так 1000 и пусть потом парятся.
                                                                    А если зделать так чтоб не плотно к другдругу, а накладывались то собрать будет нереально.
                                                                      makedonskij, :lol: Точно! А проще эту картинку вообще не давать врагам! Записать на болвань, и отправить в сейф в Цюрих! Пусть оттуда сами добывают! :lol:
                                                                        Цитата dark0ut @
                                                                        nvm, а как ты собираешься извлекать это? :blink: Ведь надо, чтобы потом можно было легко (!) проверить это!

                                                                        Тем же датчиком восстанавливаем последовательность псевдослучайных номеров, и по каждому если цвет четный - пишем 0, иначе - 1.
                                                                          Цитата nvm @
                                                                          Тем же датчиком восстанавливаем последовательность псевдослучайных номеров

                                                                          так она ж псевдослучайная :blink:
                                                                            Цитата Krott @
                                                                            Цитата nvm @
                                                                            Тем же датчиком восстанавливаем последовательность псевдослучайных номеров

                                                                            так она ж псевдослучайная :blink:

                                                                            Не пойму возражения.
                                                                            Датчик псевдослучайных чисел генерирует всегда одну и ту же последовательность, поэтому восстанавливать и нечего.
                                                                            Важно, конечно, знать, с какого номера начали. Но это как раз секретный параметр, не позволяющий расшифровать ием, кто его не знает.
                                                                              nvm, тогда нужно писать свою собственную функцию, _математически_ генерирующую псевдослучайные числа. Зачем, если в ключе можно указывать не только то, что нужно кодировать, но и сам принцип кодирования.
                                                                                Кстати, возможно сделать код, очень устойчивый к фильтрованию.
                                                                                Пусть для простоты у нас не изображение, а одномерный сигнал.
                                                                                Берем и добавляем к нему в некоторых псевдослучайных позициях по периоду синусоиды очень малой амплитуды.
                                                                                А для восстановления просто вычисляем корреляцию того же фрагмента синусоиды с сигналом по всем позициям.
                                                                                То есть 1 бит информации прописывается много раз (напр. 10000).

                                                                                Это та же идея, что и связь при очень больших помехах - корреляция позволяет надежно извлекать сигнал, конечно, если он достаточное число раз продублирован.
                                                                                Здесь в роли шума выступает само изображение.
                                                                                  Ну..вас что-то совсем в дебри унесло... ;) Проще надо быть, проще! Мне понравилась идея, изложенная в посте #13 EL[michlen]-ом. Думаю дальше уже изощряться не стоит, ведь первоначально задача стояла скрыть изображение от простых клиентов, и не от интерпола (последние все равно найдут, как ни прячь)!
                                                                                    Цитата dark0ut @
                                                                                    задача стояла скрыть изображение от простых клиентов, и не от интерпола

                                                                                    тогда действительно не стоит изощряться :yes:
                                                                                      Цитата dark0ut @
                                                                                      не от интерпола (последние все равно найдут, как ни прячь)!

                                                                                      бааааааааааальшое заблуждение, IMHO 8-)
                                                                                        Цитата Астарот @
                                                                                        бааааааааааальшое заблуждение, IMHO 8-)

                                                                                        Хорошо, что IMHO ;) Не думаю, что там сидят глупые люди...по крайней мере не глупее, чем с Исходников. Ру (IMHO) :D
                                                                                          Цитата
                                                                                          Существует ли способ защиты картинок (jpg) от воровства, чтобы можно было потом доказать своё авторство?

                                                                                          modified
                                                                                          Цитата Seva
                                                                                          Цитата Kamenev_D
                                                                                          Цитата Seva
                                                                                          Достаточно отправить себе заказное письмо с рисунком - этого достаточно для предъявления в суде.

                                                                                          А зачем себе что-то отправлять?

                                                                                          Чтобы на конверте дата стояла.
                                                                                          Понятно, что вскрывать его не надо!

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

                                                                                          Добавлено
                                                                                          Думаю, что можно файл посылать и по мылу. Там ведь тоже даты прихода писем есть.
                                                                                          Сообщение отредактировано: Gazon -
                                                                                            Цитата Gazon @
                                                                                            Думаю, что можно файл посылать и по мылу. Там ведь тоже даты прихода писем есть.
                                                                                            Его сымитировать легко. А серверные логи хранятся не вечно.

                                                                                            В случае с dark0ut всё проще. У него есть исходники фотошопа и корела, а у заказчика только gif и/или др. такие форматы. Так что доказать своё авторство можно просто предоставив исходники.
                                                                                              Цитата
                                                                                              него есть исходники фотошопа и корела, а у заказчика только gif и/или др. такие форматы.

                                                                                              Что за исходники фотошопа? Можно чуть подробнее.
                                                                                                Цитата
                                                                                                Что за исходники фотошопа? Можно чуть подробнее.

                                                                                                psd-шные файлы. Ну там слои всякие и.т.д... :)

                                                                                                Кстати, немного не понял насчёт стенографии. Ладно, скроете вы информацию.
                                                                                                Но что мешает её испортить ? Допустим, проходим по рисунку и кажный пиксел меняем на похожий. Чуть размывем. Или наоборот придаём резкости. Развве информация не затеряется ?
                                                                                                Сообщение отредактировано: SmK -
                                                                                                  Ну это мы в привате разговаривали. Просто у него есть исходные файлы со всеми слоями в PSD-формате и кореловском. А у заказчика нету. Вот и доказательства. =)

                                                                                                  Добавлено
                                                                                                  Цитата SmK @
                                                                                                  Развве информация не затеряется ?
                                                                                                  Затеряется. Но мы говорим о случаях, когда заказчик не знает о "защите".
                                                                                                    Ааа, понятно.
                                                                                                      Цитата SmK @
                                                                                                      Кстати, немного не понял насчёт стенографии. Ладно, скроете вы информацию.
                                                                                                      Но что мешает её испортить ? Допустим, проходим по рисунку и кажный пиксел меняем на похожий. Чуть размывем. Или наоборот придаём резкости. Развве информация не затеряется ?

                                                                                                      Можно сделать так, что информация сохранится почти при любом преобразовании, не сильно ухудшающем качество.
                                                                                                        nvm, да это не нужно ведь!
                                                                                                        EL[michlen] Уже сказал, что это сработает в случае, если неизвестен факт скрытия информации! А вообще мы говорим не о том, чтобы скрыть текст в картинке, а чтобы сделать на рисунке незаметные штрихи для заказчика! А если он не знает об этом, то уж не думаю, что будет изучать какие-то там "скрытые письмена" ;)
                                                                                                        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                                                                                        0 пользователей:


                                                                                                        Рейтинг@Mail.ru
                                                                                                        [ Script execution time: 0,1267 ]   [ 14 queries used ]   [ Generated: 18.05.24, 22:08 GMT ]