zoukankan      html  css  js  c++  java
  • 图片隐写--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)
    
    
  • 相关阅读:
    【前端】常用总结(二)
    【Golang】爬虫笔记
    ubuntu16.04安装SSH服务
    windows下配置pytorch环境
    使用VNC连接ubuntu16.4错误Authentication Failure问题
    window使用VNC远程ubuntu16.04
    ubuntu16.04安装nvidia显卡驱动
    python批量读取并显示图片,处理异常。
    将nii文件CT图像更改窗宽窗位之后保存成nii文件
    yaml.load与yaml.dump的用法
  • 原文地址:https://www.cnblogs.com/hackxf/p/9521116.html
Copyright © 2011-2022 走看看