Код 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')