基于vc++和matlab混合编程的可见水印系统设计

基于vc++和matlab混合编程的可见水印系统设计

ID:32371058

大小:510.38 KB

页数:7页

时间:2019-02-03

基于vc++和matlab混合编程的可见水印系统设计_第1页
基于vc++和matlab混合编程的可见水印系统设计_第2页
基于vc++和matlab混合编程的可见水印系统设计_第3页
基于vc++和matlab混合编程的可见水印系统设计_第4页
基于vc++和matlab混合编程的可见水印系统设计_第5页
资源描述:

《基于vc++和matlab混合编程的可见水印系统设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、万方数据第9卷第16期2009年8月1671-1819(2009)16-4828-05科学技术与工程ScienceTechnologyandEngineeringVoL9No.16Aug.2009@2009Sci.Tech.Engng.基于VC++和MATLAB混合编程的可见水印系统设计吕秀丽1,2杨雨飞1张勇1(大庆石油学院电子科学学院1,大庆163318;哈尔滨工程大学水声工程学院2,哈尔滨150001)摘要在可见水印系统软件设计中利用Matcom技术实现了Vc++和MATLAB混合编程。Vc+

2、+开发友好交互界面,读取、显示和保存图像。MATLAB开发数字水印算法,通过Matcom实现Vc++调用MATLAB并脱离MATLAB执行。该方法结合了MATLAB的数值计算,强大的图形、图像处理功能和VC++的可视化、执行速度快、保密性强等特点,既方便了用户的使用又增强了算法的保密性,使数字水印理论得到了实际应用。关键词VC++MATLABMatcom数字水印中图法分类号TP391.41;文献标志码A数字水印是一种有效的数字产品版权保护和数据安全维护技术。它将具有特定意义的标记(水印),利用数字嵌

3、入的方法嵌入在图像、声音、文档、视频等数字产品中,用以证明创作者对其产品的所有权,并作为鉴定、起诉非法侵权的证据,从而成为知识产权保护和数字多媒体防伪的有效手段。MATLAB是一种用于算法开发、数据分析以及数值计算的高级技术计算语言和交互式环境,它将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,命令语句功能十分强大,为科学研究、工程设计及众多学科领域提供了一种简洁、高效的编程工具。但是和其它高级编程语言相比,程序的执行速度较慢,其源代码的公开不利于算法和数据的保密

4、【lJ。VC++是在Windows平台下构建32位应用程序的强大而复杂的开发工具,是目前世界上使用最多的开发工具之一,是一种可视化编程语言。它集成了功能强大的编译器、连接器、调试器、AppWizard2009年5月8日收到黑龙江省科技厅科学技术攻关项目((;Z06A102)、大庆市科学技术计划项目(SGG2008—015)资助第一作者简介:吕秀丽(19r7l一),女,黑龙江省人,副教授,博士生,研究方向:数字图像处理、信息隐藏与数字水印。E-mail:lxl一20041231@163.o∞。等多种多

5、样的可视化编程工具,利用它可以实现应用程序开发。它能方便的实现软件开发,开发的系统具有界面友好、执行速度快、保密性强、易维护和升级等优点心]。因此在数字图像水印系统的软件开发中实现Vc++与MATLAB混合编程,使两者结合起来。协同工作,必将提高软件开发效率,使所开发的软件具有更高的性能,更可靠的保密性和更大的应用范围。1VC++与MATLAB混合编程方法常用的VC++与MATLAB混合编程方法共有4种:(1)在VC++程序中,利用MATLAB引擎调用MATLAB函数;(2)通过MATLAB编译器与

6、VC++连接;(3)组件对象模型(COM)编程;(4)利用Mat-com技术实现VC++对MATLAB函数的调用H_51。1.1VC++调用MATLAB引擎MATLAB引擎采用的是客户杌/服务器计算模式,其实质是利用ActiveX自动化和DDE技术实现vc++与MATLAB之间的动态数据交换。在VC++中使用MATLAB引擎编程,VC++是作为客户端出现的,负责用户接口和提出数据请求,而MATLAB属于服务器端,即向客户端提供数据服务,VC++通万方数据16期吕秀丽,等:基于VC++和MATLAB混

7、合编程的可见水印系统设计4829过调用MATLAB引擎与MATLAB建立连接,从而实现动态数据交换。在VC++应用程序中通过调用接口函数实现数据交换。1.2通过MATLAB编译器与VC++连接在MATLAB5.0以上版本中都有编译器,但在应用前必须正确安装和设置,使之和事先安装的VC++进行必要的连接。编译器能将MATLAB的mcc命令中大部分的.m函数文件编译成动态链接库供MATIAB自身调用,通过mex命令,将C、C++、FORTRAN等语言程序编译成MATLAB可执行程序,供MATLAB调用。

8、在Windows环境下,MATLAB可以执行以动态链接库形式存在的程序,这样可以采用VC++来编写动态链接库,从而实现MATLAB对VC++的调用。上述两种方法都不能脱离MAT.LAB环境单独运行。1.3组件对象模型(CoM)COM是一系列面向对象技术和工具的集合。COM对象用客户/N务器(C/S)的方式提供了一类应用程序接口,允许任何符合标准的程序访问。COM对象建立在二进制可执行代码的基础上,因此COM组件对象是与语言无关的,这一特性使得不同编程语言开发的组件对象

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。