图片图层隐写_图片隐写--XOR&OR&and

图片xor的脚本

和图片进行xor or and 运算的脚本

from PIL import Image

#import pil

def loadImage(filename):

img = Image.open(filename)

width, height = img.size

img = img.convert("RGB")

pixel = img.load()

return width, height, pixel

def combineImage(file1, file2, file3):

w1, h1, p1 = loadImage(file1)

w2, h2, p2 = loadImage(file2)

width = min(w1, w2)

height = min(h1, h2)

img = Image.new("RGB", (width, height))

pix = img.load()

for y in xrange(0, height):

for x in xrange(0, width):

r1, g1, b1 = p1[x, y]

r2, g2, b2 = p2[x, y]

pix[x, y] = r1^r2, g1^g2, b1^b2

img.save(file3)

if __name__ == "__main__":

combineImage("pic1.bmp", "pic2.bmp", "pic_new.bmp")

# -*- coding:utf-8 -*-

from PIL import Image

def xorFun(x, y):

return x^y

def orFun(x, y):

return x|y

def andFun(x, y):

return x&y

def loadImage(filename):

img = Image.open(filename)

width, height = img.size

img = img.convert("RGB")

pixel = img.load()

return width, height, pixel

def combineImage(file1, file2, file3, func):

w1, h1, p1 = loadImage(file1)

w2, h2, p2 = loadImage(file2)

width = min(w1, w2)

height = min(h1, h2)

img = Image.new("RGB", (width, height))

pix = img.load()

for y in xrange(0, height):

for x in xrange(0, width):

r1, g1, b1 = p1[x, y]

r2, g2, b2 = p2[x, y]

pix[x, y] = func(r1,r2), func(g1,g2), func(b1,b2)

img.save(file3)

if __name__ == "__main__":

combineImage("pic1.bmp", "pic2.bmp", "xor.bmp",xorFun)

combineImage("pic1.bmp", "pic2.bmp", "or.bmp",orFun)

combineImage("pic1.bmp", "pic2.bmp", "and.bmp",andFun)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值