• 图片隐写--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)
    
    
  • 相关阅读:
    moment.js获取当前日期是当年的第几周
    angulajs中引用chart.js做报表,修改线条样式
    moment算本月开始日期和结束日期
    TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)
    个人微信收款回调通知
    Winform,Wpf快捷键
    RemindMe
    数组循环左移p位
    RemindMe 说明
    双网卡同时上内外网
  • 原文地址:https://www.cnblogs.com/hackxf/p/9521116.html
Copyright © 2020-2023  润新知