标签:waterImg 彩色图像 dwt Img cv2 num path new 2.0
修改了尺寸变换导致的图像失真问题,同时简化了部分代码。
本次内容为验证嵌入流程,所以过程不算繁杂,关键参数和小波变换级数后期可作为密钥。
import cv2 import pywt import numpy as np from PIL import Image def inches3(num,times): for i in range(times): num = round((num/2+1)) return num def Icm(Img_path): def maxRC(): Img = cv2.imread(Img_path, 0) R = Img.shape[0] C = Img.shape[1] num = max(R, C) return num num = maxRC() rc_new = inches3(num, 2) # 3-1(3维小波-1维小波) return rc_new Img_path = '100_10.bmp' waterImg_path = 'new.bmp' Img = cv2.imread(Img_path) Img = Img[:, :, [2, 1, 0]] # 调整通道顺序 waterImg = cv2.imread(waterImg_path, 0) # 读取水印灰度图像 rcnew = Icm(Img_path) # 对应1920,此处值为482 waterImg_new = cv2.resize(waterImg, (rcnew, rcnew)) R = Img.shape[0] C = Img.shape[1] RC_new = max(R, C) Img_new = cv2.resize(Img, (RC_new, RC_new)) (r, g, b) = cv2.split(Img_new) # 原图像三级小波变换 coeffs1 = pywt.wavedec2(b, 'db2', level=3) [ca, (ch3, cv3, cd3), (ch2, cv2, cd2), (ch1, cv1, cd1)] = coeffs1 # 水印图像一级小波变换 coeffs2 = pywt.wavedec2(waterImg_new, 'db2', level=1) [cA, (cH1, cV1, cD1)] = coeffs2 # 自定义嵌入系数 a1 = 0.1 a2 = 0.2 a3 = 0.1 a4 = 0.1
# 嵌入部分 ca = ca + cA * a1 ch3 = ch3 + cH1 * a2 cv3 = cv3 + cV1 * a3 cd3 = cd3 + cD1 * a4 newImg = pywt.waverec2([ca, (ch3, cv3, cd3), (ch2, cv2, cd2), (ch1, cv1, cd1)], 'db2') merged = np.ones(Img_new.shape, dtype=np.uint8) merged[:, :, 2] = newImg merged[:, :, 1] = g merged[:, :, 0] = r Img = Image.fromarray(merged) Img = Img.resize((1920, 1080), Image.ANTIALIAS) #重新调整大小,抗锯齿 Img.save('test.png')
原图像为1920*1080 .bmp格式(从视频中抽取)
因为后期将用于视频文件处理,所以代码中的尺寸变换暂时只针对这一固定尺寸。
结果示例:
嵌入后
原图(.bmp格式无法上传,此处为截图)1920*1080
水印图像( 经过Arnold置乱处理)100*100
Arnold阿诺德置乱(猫脸变换)图像盲水印注入预处理(python)
标签:waterImg,彩色图像,dwt,Img,cv2,num,path,new,2.0 来源: https://www.cnblogs.com/hortz/p/15937985.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。