Member 14145907 Ответов: 0

Код Python для визуальной криптографии


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

Если нижеприведенный вставленный код верен, мне нужен код для перекрывающегося раздела общих ресурсов изображения.

Что я уже пробовал:

Я попробовал секцию разбрызгивания изображений



от пил импорт изображения

импорт случайный
импорт sys


image = Image.open(r"C:\Users\JAISON\Desktop\miniproject\Visual криптография\unicode-text.png")
image = image.convert('1')

outfile1 = Image.new("1", [dimension * 2 для измерения в image.size])

outfile2 = Image.new("1", [dimension * 2 для измерения в image.size])

для x в диапазоне(0, image.size[0], 2):
для y в диапазоне(0, image.size[1], 2):
sourcepixel = изображения.метода getpixel((Х, Y))
assert sourcepixel in (0, 255)
coinflip = random.random()
если sourcepixel == 0:
если coinflip < .5:
outfile1.putpixel((x * 2, y * 2), 255)
outfile1.putpixel((x * 2 + 1, y * 2), 0)
outfile1.putpixel((x * 2, y * 2 + 1), 0)
outfile1.putpixel((x * 2 + 1, y * 2 + 1), 255)

outfile2.putpixel((x * 2, y * 2), 0)
outfile2.putpixel((x * 2 + 1, y * 2), 255)
outfile2.putpixel((x * 2, y * 2 + 1), 255)
outfile2.putpixel((x * 2 + 1, y * 2 + 1), 0)
еще:
outfile1.putpixel((x * 2, y * 2), 0)
outfile1.putpixel((x * 2 + 1, y * 2), 255)
outfile1.putpixel((x * 2, y * 2 + 1), 255)
outfile1.putpixel((x * 2 + 1, y * 2 + 1), 0)

outfile2.putpixel((x * 2, y * 2), 255)
outfile2.putpixel((x * 2 + 1, y * 2), 0)
outfile2.putpixel((x * 2, y * 2 + 1), 0)
outfile2.putpixel((x * 2 + 1, y * 2 + 1), 255)
elif sourcepixel == 255:
если coinflip < .5:
outfile1.putpixel((x * 2, y * 2), 255)
outfile1.putpixel((x * 2 + 1, y * 2), 0)
outfile1.putpixel((x * 2, y * 2 + 1), 0)
outfile1.putpixel((x * 2 + 1, y * 2 + 1), 255)

outfile2.putpixel((x * 2, y * 2), 255)
outfile2.putpixel((x * 2 + 1, y * 2), 0)
outfile2.putpixel((x * 2, y * 2 + 1), 0)
outfile2.putpixel((x * 2 + 1, y * 2 + 1), 255)
еще:
outfile1.putpixel((x * 2, y * 2), 0)
outfile1.putpixel((x * 2 + 1, y * 2), 255)
outfile1.putpixel((x * 2, y * 2 + 1), 255)
outfile1.putpixel((x * 2 + 1, y * 2 + 1), 0)

outfile2.putpixel((x * 2, y * 2), 0)
outfile2.putpixel((x * 2 + 1, y * 2), 255)
outfile2.putpixel((x * 2, y * 2 + 1), 255)
outfile2.putpixel((x * 2 + 1, y * 2 + 1), 0)

outfile1.save('out1.jpg')
outfile2.save('out2.jpg')

0 Ответов