图像处理之信息隐藏

在这里给大家介绍一种将文本信息隐藏在图像的方法,这点也是利用了图像的一个特点,改变像素点,在一定范围内,图像不会发生改变。其实现步骤和原理也是不难,下面来说说其实现步骤。

1.准备两张照片,一张照片img1用来辅助另一张照片img2隐藏文本信息,两张照片大小一下。

2.在img1照片上写上要隐藏的文本信息。

3.将img2上的所有像素点变成偶数,如果是奇数就减一。

4.遍历img1的所有像素点,如果该在该位置的像素点等于文本信息的像素点,img2对应位置的像素点加一,变成偶数。

5.用numpy生成一种全0的照片,遍历img2的所有像素点,如果像素点为偶数,那么在生成的照片的该位置写入新的像素点。

ps:处理img2的一个通道数即可,代码处理的是第一个通道。

import cv2 as cv
import numpy as np


img1 = cv.imread('2.jpg',1)

img2 = cv.imread('11.jpg',1)

redcolor = (0,0,255)

h = img1.shape[0]
w = img1.shape[1]

cv.putText(img1,"hello,word",(20,100),cv.FONT_HERSHEY_PLAIN,3.0,redcolor,thickness=2)
#信息的隐藏  b ,g ,r
cv.imshow('img1',img1)
for i in range(0,h):
    for j in range(0,w):
        if(img2[i,j,0]%2==1):
            img2[i,j,0] = img2[i,j,0] - 1
for i in range(0,h):
    for j in range(0,w):
        if(img1[i,j,0],img1[i,j,1],img1[i,j,2])==redcolor:
            img2[i,j,0] = img2[i,j,0] +1
cv.imshow('img2',img2)
#解密信息
dst = np.zeros((h,w,3),np.uint8)
for i in range(0,h):
    for j in range(0,w):
        if(img2[i,j,0]%2)==1:
            dst[i,j,0] = 255
cv.imshow('dst',dst)

cv.waitKey(0)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

到这里就完成我们的信息隐藏,是不是很简单,赶快自己动手试试吧!!

thank for your reading !!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值