Защищенные изображения - невидимый водяной знак

искусственный интеллект Python

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

Реализация, которую я знаю, представляет собой библиотеку для языка программирования Python и проект с открытым исходным кодом на Github, invisible-watermark, по адресу:GitHub.com/shield M в тот день/я…, вы можете взглянуть, если вам интересно, я использую следующий процесс:

Установить:

pip install invisible-watermark

Выберите исходное изображение следующим образом:

Используя сценарий для кодирования и добавления водяного знака, в результате получается то же изображение, что и исходное изображение, но посредством обработки кода добавляется строковый водяной знак, а также добавляется строка водяного знака «тест». Сценарий выглядит следующим образом:

#!/usr/bin/env python3

import cv2
from imwatermark import WatermarkEncoder

bgr = cv2.imread('dragon.png')
wm = 'test'

encoder = WatermarkEncoder()
encoder.set_watermark('bytes',wm.encode('utf-8'))
bgr_encoded = encoder.encode(bgr, 'dwtDct')

cv2.imwrite('dragon_wm.png',bgr_encoded)

Вывод скрипта:

Это выходное изображение является защищенным изображением. Если предполагается, что оно будет использоваться непосредственно в других коммерческих целях, информация о проверке водяного знака может быть получена путем декодирования этого изображения. Конечно, могут быть и другие способы атаки на исходное содержимое изображения. Эти официальные Git Есть тест. Здесь речь в основном идет о картинках, защищенных невидимыми водяными знаками. Содержание скрипта декодирования выглядит следующим образом:

#!/usr/bin/env python3

import cv2
from imwatermark import WatermarkDecoder

bgr = cv2.imread('dragon_wm.png')

decoder = WatermarkDecoder('bytes', 32)
watermark = decoder.decode(bgr, 'dwtDct')
print(watermark.decode('utf-8'))

Полученный результат является тестом.

Результаты теста очевидны. С непрерывным развитием Интернета также были разработаны атаки и защита цифровых данных.Очевидно, что невидимые водяные знаки - хороший способ защитить изображения. И сторонний модуль Python invisible-watermark также является хорошим инструментом для невидимых водяных знаков.