利用Python实现图片信息隐藏

本文介绍了使用Python进行信息隐藏的实践,通过修改图像RGB通道的某一通道值隐藏二维信息,如二维码。方法是利用人眼无法察觉的RGB值微小变化来存储额外的数据,实现信息的隐蔽传输。
摘要由CSDN通过智能技术生成

最近上了一门信息隐藏的课,讲的关于技术层面的内容还是蛮多的,但是我也没记住几个偷笑。吭吭,言归正传,这两天要交大作业,自己手动实现一种图像信息隐藏,查了一番资料后,决定Python来做(主要是调用包方便),原理很简单,主要利用修改图像RGB通道的某一通道值来隐藏二维信息。

简单的说,每一张图片上面的颜色都是由RGB数值组成,比如rgb 255 255 255就是白色,而rgb 0 0 0就是黑色,其他的颜色也由可以这三组数字表示。而在某一通道上对数值仅进行范围为1的修改时,由肉眼是看不出来区别的。而修改范围为1,最好的办法就是奇偶数了。可以将某一通道的值全部修改为奇数,然后将要修改的信息转化为黑白图像,然后将图像中黑色的位置(也就是文字)对应的载体图像进行改值,改为偶数,这样就可以在某一通道上隐藏信息了。不过我采用的是二维码,这样有个好处就是隐藏的信息多,而且方便加密。

话不多说,代码放上去。

import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
import cv2
import numpy as np
import qrcode
import os


def Encode(image2):
    img = cv2.imread(image2)
    out = np.zeros(img.shape, np.uint8)
    w, h = img.shape[:2
  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值