Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 28.06.2016
Сообщений: 5
1

Работа с изображениями

28.06.2016, 19:42. Показов 1972. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа установления факта вмешательства в изображение

Помогите пожалуйста!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2016, 19:42
Ответы с готовыми решениями:

Работа с изображениями
Всем привет. Обшарил много форумов, но того что мне нужно так и не нашел. Интересует вопрос: как...

Работа с изображениями
Ребят, нужен спец по работе с изображениям. Сам не глупый, но после JavaScript? C++ поддаётся...

Работа с изображениями в классе TImage
возник такой вопрос. допустим на форму вынесен объект Image1 допустим в него загружена картинка,...

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

13
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
29.06.2016, 09:19 2
Makmakmak, если есть исходное изображение - просто сравните их. другого способа за исключением работы специалиста думаю нет
0
0 / 0 / 0
Регистрация: 28.06.2016
Сообщений: 5
29.06.2016, 19:42  [ТС] 3
vxg, спасибо, что сравнить я понял, как в коде будет можешь помочь пожалуйста?
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
30.06.2016, 09:20 4
Цитата Сообщение от Makmakmak Посмотреть сообщение
как в коде будет
ИМХО, побайтное сравнение...
0
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
30.06.2016, 10:36 5
Лучший ответ Сообщение было отмечено Makmakmak как решение

Решение

Makmakmak, используя точки например так (предполагается равенство размеров картинок и проверка на точное совпадение)
C++
1
2
3
4
5
6
7
8
9
10
    for (int y = 0; y < Image1->Height; y++)
    {
        for (int x = 0; x < Image1->Width; x++)
        {
            if (Image1->Picture->Bitmap->Canvas->Pixels[x][y] != Image2->Picture->Bitmap->Canvas->Pixels[x][y])
            {
                //OOPS
            }
        }
    }
1
управление сложностью
1687 / 1300 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
30.06.2016, 11:48 6
А если хеши сравнивать ?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
30.06.2016, 11:58 7
Можно попробовать загрузить оба изображения в bitmap-ы и сравнить их через CompareMem, скорее всего это отловит тот факт, что изменения были внесены в изображения. Ну или затолкать информацию из файлов с изображениями как два массива байт в память и той же CompareMem сравнить, тогда можно будет отловить и стеганографию (которая при простом сравнении пикселей останется неопознанной).

Хеш может не помочь, можно специально подобрать изменения так, чтобы при пересчете хеши оставались одинаковыми.
1
случайный прохожий
2935 / 1951 / 606
Регистрация: 20.07.2013
Сообщений: 5,159
30.06.2016, 13:24 8
Стеганография при простом сравнении пикселей останется неопознанной.
С этим бы я поспорил. Да, визуально пиксели практически не отличаются. Но сравнение тех же компонентов (составляющих) цвета и яркости для каждого пикселя наверняка даст повод сделать вывод о том, что изменения были произведены.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
30.06.2016, 14:55 9
Цитата Сообщение от gunslinger Посмотреть сообщение
Но сравнение тех же компонентов (составляющих) цвета и яркости для каждого пикселя наверняка даст повод сделать вывод о том, что изменения были произведены.
Это зависит от метода стеганографии, который использовался. При LSB - да, будет отловлено легко. А если другой метод, и изображение не BMP-формата (у TC-а про формат вообще ничего не написано)?
0
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
30.06.2016, 16:49 10
volvo, каким бы ни был метод стеганографии он делает цвета отличными от оригинала поэтому сравнение цветов точек однозначно выделит разницу. подбором изменений данных при которых скажем md5 или хотя бы CRC32 оставался неизменным занимаются в разведке с весьма скромными успехами)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
30.06.2016, 17:11 11
Цитата Сообщение от vxg Посмотреть сообщение
он делает цвета отличными от оригинала
Ну-ну. Удачи тебе в отлове стеганографических сообщений, которые основаны, скажем, на #EXIF тегах, или на неопределенных (и потому не отображающихся) чанках PNG-файла, или на байтах выравнивания, или ...
Цитата Сообщение от vxg Посмотреть сообщение
подбором изменений данных при которых скажем md5 или хотя бы CRC32 оставался неизменным занимаются в разведке с весьма скромными успехами
Занимаются с весьма скромными успехами, или тебе говорят, что успехи весьма скромны (чтобы у обывателя меньше вопросов возникало)? Довольно неплохо это получается сейчас, если что... И первое, и второе
0
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
30.06.2016, 20:42 12
volvo, какое отношение это имеет к стеганографии в значении "передача информации путём внесения информации в изображение как в набор точек" которое напрашивается из темы? Или мы в теме про нахождение различий в Изображении будем обсуждать запись в кластерный хвост? Про подтасовку хэшей - я свечку не держал, могу поверить вам на слово, наверное эта проблема решена в определенных кругах.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
30.06.2016, 21:40 13
Цитата Сообщение от vxg Посмотреть сообщение
которое напрашивается из темы?
А не надо додумывать за пользователя. Вопрос был о вмешательстве. Как оно производилось - ты не знаешь. Вот если бы было сказано, "определить, менялись ли цвета пикселей" - это одно. А в текущей постановке вопроса вмешательство может быть любым, и чтобы его отловить, простого сравнения пикселей недостаточно.
0
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
30.06.2016, 21:51 14
volvo, вопрос свёлся к выяснению смысла слов вмешательство и изображение. По вмешательству я с вами согласен - природа его не ясна и я про себя думаю что речь идёт о ретуши. А вот что изображение это не файл лично для меня очевидно )
0
30.06.2016, 21:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2016, 21:51
Помогаю со студенческими работами здесь

Список с изображениями
Есть ли готовые компоненты, типа ListBox, только с картинками (примерно 50x50). Или подкиньте идею...

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

Вывод текста с изображениями
Всем привет! Пишу программу тест, в котором имеется раздел &quot;теория&quot;, в котором в свою очередь...

Контейнер с форматированным текстом и изображениями
Доброй ночи. Вопрос такой - существует ли в билдере стандартный компонент, который сможет принять:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru