python处理图片隐写分析_Python3简单实现隐写术

下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

导语

利用Python简单实现图片隐写术。。。

或者说是水印技术。。。

说实话,真的只是简单实现。。。

没什么技术含量。。。

可以说是入门级的隐写术/水印技术。。。

Let's Go?

相关文件

密码: 9ffy

开发工具

Python版本:3.5.4

相关模块:cv2模块;pillow模块;numpy模块;以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

相关文件中的源代码主要实现了两种水印技术:

(1)空域数字水印

实现的是基于LSB的水印技术。。。

(2)频域数字水印

实现的是基于FFT的水印技术。。。

T_T确实没啥技术含量吧?

图片需为PNG或BMP格式。。。

若频域数字水印效果不佳,请修改alpha因子大小。

具体实现过程详见源代码。。。

使用演示

可直接运行或作为模块导入。

功能:

9e457dd70e07a9d6219edc96debf4713.png

直接运行方式:

在cmd窗口运行Watermark.py即可。

演示一:基于FFT

载体图片:

6c9e3532edce17b845a6a224ace9e878.png

水印图片:

145df40aaf6592ef855392ca64f39fe1.png

嵌入效果:

03cc297a3d4c5ecfea405e2e335caa69.png

解水印:

d55f953262024f1e270166c92a816daf.png

演示二:基于LSB

载体图片:

438a610f3cb52165f10a31ce16b77905.png

水印文字:

公众号:Charles的皮卡丘

嵌入效果:

173f8f716f4f2244962183d4166ed090.png

解水印:

bacedad9410dffa23cfeef421800da6c.png

更多

上述内容只是入门级的隐写术/水印技术。。。

这是一项非常有趣的技术。。。

以后有机会会复现一些进阶版的水印算法。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Jquery提交Json格式的数据到Asp.net程序的另类做法

一般我们使用Jquery提交数据到Asp.net程序都有两种方法,今天我再介绍一种方法.以下是详细描述: 1)使用Get请求的方式,将参数接在请求Url的后面.例如: http://www.google.com.hk/search?qjquerypost 获取参数的方法:在Asp.net中可以使用Request.QueryString["q"]来获…

python xml添加命名空间_XML的命名空间与python解析方法

在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突,而XML 命名空间提供避免元素命名冲突的方法。XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:x…

详解在Visual Studio中使用git版本系统(转)

http://www.uml.org.cn/pzgl/201206211.asp 转载于:https://www.cnblogs.com/kevin3274/archive/2012/08/29/2662556.html

java派生类_我可以使派生类从Java的基类继承派生成员...

我有看起来像这样的代码:public class A{public void doStuff(){System.out.print("Stuff successfully done");}}public class B extends A{public void doStuff(){System.out.print("Stuff successfully done, but in a different way");}pub…

流程图中的虚线含义_还在为画流程图烦恼,焦躁?介绍一款画图神器,让你爱上画图!...

在团队协作过程中最常见的就是开会、开会最常用的就是图,而图中最常见的就是流程图,时序图,类图等下面介绍一款画图神器:PlantUMLPlantUML是一个开源项目,支持快速绘制:时序图用例图类图活动图组件图状态图…

有限状态自动机java实现_用java开发编译器之:Thompson构造,将正则表达式转换为有限状态自动机...

阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程:上一节,我们通过代码,实现了一个有限状态自动机,并将其应用于对整形和浮点数的识别。构造有限状态自动机,并驱动它&#xf…

Zend Server搭建网站备注

1、Zend Server的使用 Zend Server自带php和apache,所以装zendserver的话不需要再安装其他任何东西。(mysql默认没有安装,可以自行设置) 2、工作路径配置: 在Zend\Apache2\conf\httpd.conf中添加 Alias/test "F:/workbench/t…

python的符号函数得到的数字类型_Python笔记——数字类型的几个函数

标准类型内建函数&#xff1a;cmp(obj1, obj2) 比较obj1和obj2&#xff0c;根据比较结果返回整型i:i < 0 if obj1 < obj2i > 0 if obj1 > obj2i 0 if obj1 obj2repr(obj)或obj 返回一个对象的字符串表示str(obj) 返回对象适合可读性好的字符串表示type(obj) 得到…

将SqlServer的数据导出到Excel/csv中的各种方法 .

以下都只是介绍操作的原理&#xff0c;具体要求要在应用中具体分析改变。 如果大家有其他好的方法&#xff0c;请相互告知&#xff0c;共同学习。 1. 此方法常用在form或者Console Application中&#xff0c;使用时须用要添加Reference&#xff0c;具体做法&#xff1a; …

java单例模式的实现方法_JAVA单例模式的几种实现方法

1 饿汉式单例类.在类初始化时&#xff0c;已经自行实例化class EagerSingleton {private static final EagerSingleton m_instance new EagerSingleton();/** * 私有的默认构造子 */private EagerSingleton() {}/*** * 静态工厂方法*/public static EagerSingleton getInstanc…

python链表排序_链表排序+末尾各种排序

#工具人排序def nums_sort(data):if not data:return []min_data min(data)max_data max(data)nums [0]*(max_data-min_data1)for value in data:nums[value-min_data]1cur min_datafor index in range (len(data)):while cur< max_data and nums[cur-min_data]<0:cu…

sl animation sample

http://samples.msdn.microsoft.com/Silverlight/SampleBrowser/index.htm#/?srefdoubleanimation 转载于:https://www.cnblogs.com/songtzu/archive/2012/09/05/2672445.html

python中cumsum_在python里“np.cumsum”这个命令是干什么的?怎么使用?

展开全部累计2113求和的命令。5261具体例子如下所示4102&#xff1a;>>> a np.array([[1,2,3], [4,5,6]])>>> aarray([[1, 2, 3],[4, 5, 6]])>>> np.cumsum(a)array([ 1, 3, 6, 10, 15, 21])>>> np.cumsum(a, dtypefloat) # specif…

java rgb转yuv_【转】总结各种RGB转YUV的转换公式

最近在学习视频的颜色空间转换&#xff0c;由于摄像机拍出来的视频很多都是用YUV格式保存的&#xff0c;而颜色空间的转换必须在RGB颜色模型上才能完成&#xff0c;所以第一步自然就是将YUV颜色模型转成RGB颜色模型。在网上查到了许多的YUV与RGB互转的公式&#xff0c;但是总觉…