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