首页 > 编程语言 >OpenCV实现LSB算法(数字水印)

OpenCV实现LSB算法(数字水印)

时间:2022-11-18 23:33:30浏览次数:49  
标签:lena LSB cv2 水印 OpenCV 数字水印 np ew

本文参考自《计算机视觉40例从入门到深度学习(OpenCV-Python)》
LSB算法的原理就不在过多的介绍了,直接上代码。
lenacolor.png
image

watermark.bmp
image

# LSB算法
import numpy as np 
import cv2
lena = cv2.imread("D:\C\copy\lenacolor.png", 0)
#-------------嵌入
#s1 生成内部都是254的数组
r,c=lena.shape
t1=np.ones((r,c),np.uint8)*254
#s2 获取原始载体图像的高7位 最低有效位清0
lsb0=cv2.bitwise_and(lena,t1)
#s3 水印信息处理
w=cv2.imread("D:\C\copy\watermark.bmp",0)

#将水印图像内的255转换成1
wt=w.copy()
wt[w>0]=1
#s4 将水印图像wt嵌入lsb0内
wo=cv2.bitwise_or(lsb0,wt)
#--------------提取
#s1 生成内部都是1的数组
t2=np.ones((r,c),np.uint8)
#s2 从载体图像内提取水印图像
ewb=cv2.bitwise_and(wo,t2)
#s3 将水印图像内的数值1转换成255
ew=ewb.copy()
ew[ewb>0]=255
#--------------显示结果
cv2.imshow("lena",lena)
cv2.imshow("watermark",w)
cv2.imshow("wo",wo)
cv2.imshow("ew",ew)
cv2.waitKey()
cv2.destroyAllWindows()

标签:lena,LSB,cv2,水印,OpenCV,数字水印,np,ew
From: https://www.cnblogs.com/xjy881/p/16905243.html

相关文章

  • OpenCV提取图像的位平面
    提取位平面函数(仅仅支持灰度图像)defextractBitPlace(img,layer):h,w=img.shapemat=np.ones((h,w),np.uint8)mat=mat*(2**(layer-1))returncv2.bitw......
  • OpenCV常用函数
    1.读取图像cv2.imread(filename,[,flags])2.色彩空间转换dst=cv2.cvtColor(src,code,[,dstCn])code是色彩空间转换码dstCn是目标图像的通道数。如果参数为默认值......
  • opencv安装完之后运行例程:应用程序无法正常启动(0xc000007b)
    按照教程问题:按照教程:​​win10下VS2013+OpenCV2.4.9环境配置​​和​​OpenCV2.4.13+VS2013版本下的环境配置WIN10​​安装完了vs2013和opencv2.4.9之后,在执行例程时......
  • opencv 查看编译参数是否使用GPU
    importcv2cv2.__version__print(cv2.getBuildInformation())--GeneralconfigurationforOpenCV4.5.4=====================================--Versioncontrol:......
  • opencv 图像处理
    基本语法defread_demo():image=cv.imread('C:/Users/Administrator/Pictures/CameraRoll/1.jpg')cv.imshow('input',image)cv.waitKey(0)cv.destroyAllWi......
  • OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src
    原先一直以为数据集路径错误,调了半天也没用,后来打印图片列表,发现一个隐藏文件在终端运行 ls-a也出现了这个隐藏文件  删除 rm-rf.ipynb_checkpoints之后成功......
  • 使用opencv进行RGB--YUV转换 c++版本
    ////CreatedbyDangXSon2022/4/27.//#ifndefCPLUSPLUS_PROJECT1_YUV_HELPER_H#defineCPLUSPLUS_PROJECT1_YUV_HELPER_H#include"opencv2/opencv.hpp"stat......
  • opencv-python系列一
    简介OpenCVOpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效,由一系......
  • 实战 | Halcon实例转OpenCV实现-复杂背景下OCR数字识别(附源码)
    导读本文主要介绍一个复杂背景下OCR数字提取识别实例,并将Halcon实现转为OpenCV。实例来源Halcon例程ocrcolor.hdev,例程代码精简修改如下:*Author:ColorSpace*来源-公众......
  • 实战 | 手把手教你用Python+OpenCV实现滑块验证码->自动拖动验证
    导读本文主要介绍如何使用Python+OpenCV实现滑块验证码->自动拖动验证。背景介绍前几天在某网站下载代码时,跳转到滑块验证码界面,需要验证OK后才能下载,貌似这种验证方式现......