LabVIEW使用边缘检测技术实现彩色图像隐写术

news2024/10/7 19:28:14

LabVIEW使用边缘检测技术实现彩色图像隐写术

隐写术是隐藏信息的做法,以隐瞒通信的存在而闻名。该技术涉及在适当的载体(如图像,音频或视频)中插入秘密消息。在这些载体中,数字图像因其在互联网上的广泛使用而受到青睐。LabVIEW软件已用于执行隐写术。本文解释了在封面图像边缘像素的最低有效位(LSB)中插入秘密消息。秘密消息的嵌入采用两种方法,第一种方法是消息以原始二进制形式和在另一种方法中补充二进制形式转换消息,以增强安全性。在发射器端获得的隐身图像类似于覆盖图像。Stego图像内部嵌入了秘密信息。在接收端,通过从边缘像素隐写图像中提取LSB来检索秘密消息。峰值信噪比(PSNR)用作性能分析的度量。

隐写术是是覆盖写作或隐形交流的艺术和科学。隐写术和密码学是数字安全中的对应部分。密码学和隐写术的区别在于,密码学强调对消息的内容保密,而隐写术强调秘密信息存在的秘密性。隐写术的主要目的是将敏感信息隐藏在覆盖对象内,这样除了授权用户之外,没有人能检测到其中有秘密消息。使用隐写术,秘密消息隐藏在封面对象的一部分内,这样它就不会对掩护对象进行重大更改,并通过导致第三方(未经认可的方)无法捕获秘密信息的存在来传输。秘密可以隐藏在各种封面文件中,可以是文本、图像、音频、视频等。图像和音频文件特别受欢迎,因为它们满足高度冗余的要求。由于数字图像的扩展,特别是在互联网上,并且由于图像的数字表示中存在大量冗余位,图像是隐写术中最受欢迎的封面对象。

边缘检测是识别图像中图像亮度急剧变化的点的过程。这些点称为图像的边缘。在边缘区域中,邻域像素之间的差异更大,称为像素值差分。人类感知对像素边缘区域的细微变化不太敏感。

选择大小为256*256的彩色图像作为封面图像,而不是图像的所有像素,仅选择边缘像素来插入秘密信息。为了获得所有边缘像素值的集合,对封面图像执行边缘检测任务。最优边缘检测器用于执行边缘检测操作。对于建议的工作,选择用于插入秘密消息的LSB方法,因为它简单。获得边缘像素后,消息被嵌入到像素的LSB中,生成一个隐写图像(缩写为“SI”)。LSB技术将改变肉眼无法捕获的封面图像的质量。像素值差分能够提供高质量的隐写图像。实现两种方法来嵌入秘密消息。在第一种方法中,消息是原始的二进制形式,在第二种方法中二进制消息是补充的,以提高安全性。

每个边缘像素值都转换为二进制格式。所有边缘像素的LSB都分组。执行秘密消息字符转换为其相应的ASCII码。ASCII代码以二进制格式表示。获得的LSB组被二进制转换的秘密消息替换。

新想法不是按原样插入二进制转换的秘密消息,而是补充每个位的消息并完成LSB插入过程。在接收器侧,以相反的方式执行精确的程序。

LabVIEW软件用于执行隐写算法。它运行在普通计算机以外的硬件上。LabVIEW是编译器,因此速度更快。该软件主要用于信号采集和处理。

峰值信噪比(PSNR)用于判断图像质量。PSNR值越高,图像质量越好,捕获秘密信息存活的可能性越小。PSNR值越大,人眼遭受视觉攻击的可能性越低。

a)峰值信噪比

数字图像的视觉质量可能是主观的。为此,有必要建立实验措施来比较图像增强算法对图像质量的影响。正在研究的指标是峰值信噪比。

b)均方误差

均方误差(MSE)是一种将像素值覆盖图像与隐写图像进行比较的方法。MSE表示封面图像和隐写图像之间误差平方的平均值。误差是封面图像的值与隐写图像的差异量。

图像隐写术具有广泛的应用,例如国防组织、军事和情报机构以及医学成像。

这是LabVIEW的一个应用,更多的开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

 

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

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

相关文章

软件测试用例设计方法之因果图法

基本概念 因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 设计测试用例的步骤 分析软件规格说明描述中, 哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件), 并给每…

API 接口设计版本管理控制的规范:向后兼容的3个规则

一下文章内容来自之前做API接口时整理的一些内容,记录分享一下。 在HTTP和HTML发展的早期,有着这样一条规则:任何浏览器在遇到无法识别的元素或元素属性时,都应该像该标签不存在一样行事。这使得快速更新HTML的功能成为可能&…

通过代码实现窗口界面布局的方法

在QWidget窗口中添加相关事件resizeEvent()函数并编写相关功能代码: void Widget::resizeEvent(QResizeEvent *event) {QSize szui->plainTextEdit->size();ui->plainTextEdit->move(5,5);ui->pabpic->move(5,sz.height()5);ui->plainTextEd…

c++游戏小技巧12:输入输出流(存读档超全版)

目录 1.前言 2.输入/输出概念 3.流的概念 4.正文 1.标准I/O流 1.get()函数 2.getline()函数 3.read()函数 4.ignore()函数 5.gcount()函数 6.peek()函数 7.putback()函数 8.istream集合栗子 9.put()函数 10.write()函数 11.ostream集合栗子 2.文件I/O流 1.流…

开机时间分析

一、 开机各个阶段分析 1、Bootloader 阶段 Bootloader 阶段 该阶段分为(preloader 和Ik 阶段) 从按电源键振动到 kernel 开始启动,这部分高通平台暂无好的方法确认时间,可以从总时间推算大概时间。MTK 项目可以从bootprof 确认 2、kernel…

day18 内部类、包、垃圾回收机制

匿名内部类 // Animal a new Animal(){ // Override // public void eat() { // System.out.println("动物在吃饭"); // } // }; abstract class Animal{ public abstract void eat(); }

git 配置网络代理

提高 git 访问 github 速度 网络代理前提: 请开启代理(梯子)检查代理端口(可能会有所不同) 文章目录 1. git 配置参数列表命令:2. git 添加 http 代理3. git 取消 http 代理 1. git 配置参数列表命令: gi…

【AI】《动手学-深度学习-PyTorch版》笔记(十八):卷积神经网络模型

AI学习目录汇总 1、LeNet 1.1 介绍 发布时间:1989年 模型目的:识别手写数字 1.2 网络结构 1.3 定义模型 1.3.1 相关函数原型 1)nn.Conv2d:卷积层 torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, paddin

集群、负载均衡集群、高可用集群简介,LVS模式和haproxy/nginx模式拓扑介绍

一.集群的定义 1.定义 2.分类 (1)负载均衡集群 (2)高可用集群 二.使用集群的意义 1.高性价比和性能比 2.高可用性 3.可伸缩性强 4.持久和透明性高 三.常见的两种集群模式拓扑 1.LVS集群模式 2.haproxy/nginx模式 四.常…

Java并发编程(六)线程池[Executor体系]

概述 在处理大量任务时,重复利用线程可以提高程序执行效率,因此线程池应运而生。 它是一种重用线程的机制,可以有效降低内存资源消耗提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行线程池可以帮助我们更好地管理线程的生命周期和资源使用,…

Jmeter-压力测试工具

文章目录 Jmeter快速入门1.1.下载1.2.解压1.3.运行 2.快速入门2.1.设置中文语言2.2.基本用法 Jmeter快速入门 1s内发送大量请求,模拟高QPS,用以测试网站能承受的压力有多大 Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK&#xff0…

DAY2,ARM(特殊功能寄存器,数据操作指令,跳转指令)

1.cmp、sub、b指令的使用; 代码: .text .global _start _start:mov r0,#9mov r1,#15b funfun:cmp r0,r1beq stopsubcc r1,r1,r0subhi r0,r0,r1b funstop:b stop .end结果: 2.汇编指令计算1~100之间和; 代码: .text …

echart 词云图

const graphOut ref(null); const optionGraph reactive({series: [{type: graph,shape: circle,symbolSize: [215, 50],//散点形状设置symbol: circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, arrow’symbol: rect,layout: force,force: {repulsio…

Docker安装elasticsearch分布式搜索

文章目录 ☀️安装elasticsearch☀️1.部署单点es🌸1.1.创建网络🌸1.2.下载镜像🌸1.3.运行 ☀️2.部署kibana🌸2.1.部署🌸2.2.DevTools ☀️3.安装IK分词器🌸3.1.在线安装ik插件(较慢&#xff0…

逗号操作符

逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。 运用:

【字典学习+稀疏编码Sparse Encoding】简单介绍与sklearn的实现方式

文章目录 1、字典学习与稀疏编码2、sklearn的实现3、示例 1、字典学习与稀疏编码 简单来说,稀疏编码就是把输入向量(信号)/ 矩阵(图像)表示为稀疏的系数向量和一组超完备基向量(字典)的线性组合…

BeanFactory与Applicationcontext(1)

BeanFactory是接口,提供了IOC容器最基本的形式,给具体的IOC容器的实现提供了规范。BeanFactory是spring的“心脏”,核心容器,它也是Applicationcontext的父接口。 BeanFactory实质上并未提供过多的方法,spring容器的I…

Mr. Cappuccino的第63杯咖啡——Spring之AnnotationConfigApplicationContext源码分析

Spring之AnnotationConfigApplicationContext源码分析 源码分析 源码分析 以上一篇文章《Spring之Bean的生命周期》的代码进行源码分析 AnnotationConfigApplicationContext applicationContext new AnnotationConfigApplicationContext(SpringConfig02.class); LifeCycleBe…

通达信接口调用过程需要借助什么?

通达信接口是一种用于获取、传输和处理股票市场相关数据的软件接口,以提供了一种连接股票市场数据源和数据使用者之间的通道,允许开发者通过编程方式获取股票行情数据、交易数据和相关信息等。如果调用通达信接口,需要借助以下几个方面的工具…

9-AJAX-1入门

AJAX 目录 AJAX 概念和 axios 使用认识 URLURL 查询参数常用请求方法和数据提交HTTP协议-报文接口文档案例 - 用户登录form-serialize 插件 01.AJAX 概念和 axios 使用 目标 了解 AJAX 概念并掌握 axios 库基本使用 讲解 什么是 AJAX ? mdn 使用浏览器的 XMLHttpRequest…