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

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

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

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

Помогите пожалуйста!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2016, 19:42
Ответы с готовыми решениями:

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

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

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

13
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
29.06.2016, 09:19
Makmakmak, если есть исходное изображение - просто сравните их. другого способа за исключением работы специалиста думаю нет
0
0 / 0 / 0
Регистрация: 28.06.2016
Сообщений: 5
29.06.2016, 19:42  [ТС]
vxg, спасибо, что сравнить я понял, как в коде будет можешь помочь пожалуйста?
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
30.06.2016, 09:20
Цитата Сообщение от Makmakmak Посмотреть сообщение
как в коде будет
ИМХО, побайтное сравнение...
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
30.06.2016, 10:36
Лучший ответ Сообщение было отмечено 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
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
30.06.2016, 11:48
А если хеши сравнивать ?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
30.06.2016, 11:58
Можно попробовать загрузить оба изображения в bitmap-ы и сравнить их через CompareMem, скорее всего это отловит тот факт, что изменения были внесены в изображения. Ну или затолкать информацию из файлов с изображениями как два массива байт в память и той же CompareMem сравнить, тогда можно будет отловить и стеганографию (которая при простом сравнении пикселей останется неопознанной).

Хеш может не помочь, можно специально подобрать изменения так, чтобы при пересчете хеши оставались одинаковыми.
1
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,014
30.06.2016, 13:24
Стеганография при простом сравнении пикселей останется неопознанной.
С этим бы я поспорил. Да, визуально пиксели практически не отличаются. Но сравнение тех же компонентов (составляющих) цвета и яркости для каждого пикселя наверняка даст повод сделать вывод о том, что изменения были произведены.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
30.06.2016, 14:55
Цитата Сообщение от gunslinger Посмотреть сообщение
Но сравнение тех же компонентов (составляющих) цвета и яркости для каждого пикселя наверняка даст повод сделать вывод о том, что изменения были произведены.
Это зависит от метода стеганографии, который использовался. При LSB - да, будет отловлено легко. А если другой метод, и изображение не BMP-формата (у TC-а про формат вообще ничего не написано)?
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
30.06.2016, 16:49
volvo, каким бы ни был метод стеганографии он делает цвета отличными от оригинала поэтому сравнение цветов точек однозначно выделит разницу. подбором изменений данных при которых скажем md5 или хотя бы CRC32 оставался неизменным занимаются в разведке с весьма скромными успехами)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
30.06.2016, 17:11
Цитата Сообщение от vxg Посмотреть сообщение
он делает цвета отличными от оригинала
Ну-ну. Удачи тебе в отлове стеганографических сообщений, которые основаны, скажем, на #EXIF тегах, или на неопределенных (и потому не отображающихся) чанках PNG-файла, или на байтах выравнивания, или ...
Цитата Сообщение от vxg Посмотреть сообщение
подбором изменений данных при которых скажем md5 или хотя бы CRC32 оставался неизменным занимаются в разведке с весьма скромными успехами
Занимаются с весьма скромными успехами, или тебе говорят, что успехи весьма скромны (чтобы у обывателя меньше вопросов возникало)? Довольно неплохо это получается сейчас, если что... И первое, и второе
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
30.06.2016, 20:42
volvo, какое отношение это имеет к стеганографии в значении "передача информации путём внесения информации в изображение как в набор точек" которое напрашивается из темы? Или мы в теме про нахождение различий в Изображении будем обсуждать запись в кластерный хвост? Про подтасовку хэшей - я свечку не держал, могу поверить вам на слово, наверное эта проблема решена в определенных кругах.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
30.06.2016, 21:40
Цитата Сообщение от vxg Посмотреть сообщение
которое напрашивается из темы?
А не надо додумывать за пользователя. Вопрос был о вмешательстве. Как оно производилось - ты не знаешь. Вот если бы было сказано, "определить, менялись ли цвета пикселей" - это одно. А в текущей постановке вопроса вмешательство может быть любым, и чтобы его отловить, простого сравнения пикселей недостаточно.
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
30.06.2016, 21:51
volvo, вопрос свёлся к выяснению смысла слов вмешательство и изображение. По вмешательству я с вами согласен - природа его не ясна и я про себя думаю что речь идёт о ретуши. А вот что изображение это не файл лично для меня очевидно )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.06.2016, 21:51
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru