matlab imdilate_基于MATLAB的视觉加密技术

2024-03-24 06:59

本文主要是介绍matlab imdilate_基于MATLAB的视觉加密技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注「工科男的Maltab学习日志」,利用Mardown文本编辑器编写文章,全新排版升级,内容、代码内容、代码更简洁,该公众号同时开通了视频号,「工科男的日常」,欢迎大家扫码关注。 ——工科男ddecb64e6ae34c935495c210138f6707.png

1 视觉加密 简介

对于信息安全技术在当今飞速发展的社会中面对的严峻考验,一种新型的用于保护人们私密信息的技术应用而生,给信息安全学科带来了新的发展方向。视觉密码技术是信息安全的一个重要组成部分,近年来得到了快速的发展。视觉密码是一种对秘密图像来加密的新型加密技术,有别与传统密码学和秘密共享技术,最主要针对的是文本类秘密信息的加密。视觉密码技术将需要保护的秘密信息共享到一组无意义类噪声的共享图像中。由于其共享图像的无意义特性,从而保证了从有限共享图像中得到任何与共享秘密信息有关的任何信息,而将共享图像分发给不同的参与者保存,解决了权利集中问题,运用秘密共享的门限特点提供共享秘密信息的安全性,保证了不法者在得到部分共享图像并叠加同样不能获得有效的秘密图像,必须用达到门限数量的共享图像个数,并以透明胶片或者其他可用的方式叠加即可恢复其中共享的秘密图像。 下图左滑可播放幻灯片 0b0d55f84087ab7dc6d122ef5e4e6bb9.png 7ad6710d4701d6669d47cf987db44265.png f5ec383ca3364fdb0da469c11db732d2.png c680f38aeb63f2aa6382be88c06c534d.png

2 Shamir 方案的基本概念

Shamir 将秘密共享的思想运用到加密对象为图像的情况,从而提出了视觉密码方案(Visual Cryptography Scheme, VCS)。在一个(K,N)视觉密码方案中,要求,一个秘密图像通过从初始矩阵集合和中分别选取不同的满足一定条件的矩阵来共享并得到N幅共享图像(影子图像),其中矩阵集合 和分别来自基础矩阵和的列变换。将N幅共享图像分发给不同的(N)参与者保存。如果要想恢复被共享的秘密图像,必须收集到至少K幅被分发的共享图像,并将这 K 幅图像叠加到一起即可将共享的图像恢复。无需任何其他复杂算法的参与。并且多人参与恢复保证了共享图像的安全性。为了保证视觉密码的叠加可恢复性,必须保证对于共享的黑白秘密像素点产生不同的共享图像结果

3 方案的算法

以经典(2,2)视觉密码方案为例来完成方案的初始化、构造过程以及其核心原理。例如构造一个(2,2)-VCS,其中像素扩展选择 m=2,参数 l=0,h=1。给出基础矩阵和其中秘密图像选择为有计算机字样的图像I。首先通过条件公式来判断所选择的基础矩阵和是否满足共享条件,只有满足共享条件的矩阵才可以参与秘密共享。将基础矩阵和带入公式可以得到:

可见,在恢复过程中,黑色像素点通过来表示,而白色像素点通过来表示,其中表示有个黑色像素点和个白色像素点组成。

共享步骤:

  1. 得到初始矩阵集合和通过对基础矩阵和列变换得到;
  2. 选择像素点并判断其值为0或为1,根据行或列从秘密图像I中选择;
  3. 如果所选像素点的值为0,则从矩阵集合中随机选出矩阵并将对应的两行分别分配给共享图像和,如果所选像素点值为1,则从矩阵集合中选择生成共享图像的矩;
  4. 循环执行(2)和(3)直到秘密图像 I 中的所有像素点都被共享从而得到共享图像和,然后将和分别分发给合格的不同参与者保存。

恢复步骤:

  1. 将分发给不同参与者的共享图像收集;
  2. 将图像打印到透明胶片或者是一起存储到其他计算机设备中;
  3. 将和叠加得到恢复密图。

4 MATLAB加密视觉算法实现

例如,对下图进行Shamir经典(2,2)视觉加密

0b0d55f84087ab7dc6d122ef5e4e6bb9.png
测试照片

首先对该图片进行读取,并进行二值化

clear all
clc
A = imread('龙哥最帅.jpg');
BW = imbinarize(rgb2gray(A));

之后,对该二值化的图像矩阵进行处理

size(BW);

此时BW_1与BW_2即加密图像

imshow(BW)
figure
imshow(cell2mat(BW_1))
7ad6710d4701d6669d47cf987db44265.png
BW_1加密图像
f5ec383ca3364fdb0da469c11db732d2.png
BW_2加密图像

对加密图像可以用透明纸打印出来重叠,或者利用计算机,将保存下来的图象在word里进行重叠即可解密,该实例源码已上传至QQ群(272558566)。

411)
c680f38aeb63f2aa6382be88c06c534d.png
图像解密

5 作品展示

f5b237214f1e92959d8b21646b47bf86.png
作品一
3e3d23360c1e98fc0e87a9c7fd887814.png 7b2e1d2ce4c3c07b09d69653413dfe5e.png

往期精彩阅读(点击即可阅读)

  • 自动执行文本中的 MATLAB 表达式——关于eval函数的使用技巧
  • 条形图学习札记——如何排序并指定坐标标签
  • MATLAB图论实例——最短路径
  • 四点悬置六自由度动力学响应仿真与分析系统
  • A、C频率计权网络
  • MATLAB函数库大全(收藏版)
  • 科技论文写作WORD必备技巧——排版
  • 数学建模——无约束优化问题
  • 基于MATLAB的核放射素查询系统
  • 基于MATLAB云图背景图片的添加
  • 基于MATLAB文本转语音包的实现
  • MATLAB调用摄像头实例
  • 基于MATLAB制作简易画板
  • 基于MATLAB的心电图信号分析与处理
  • Lamb频散曲线快速绘制软件
  • 软著——高阶椭圆齿轮副参数设计与分析系统
  • 日常札记——关于极坐标绘图的若干小问题
  • 基于MATLAB定时器timer函数制作数字万年历
  • 基于MATLAB视频处理——抖音小视频去除水印
  • 抖音上火起来的来的撩妹神器
  • 基于compass函数的时钟制作
  • 如何验证身份证号码是否合法
  • MATLAB版本的扫雷小游戏
  • 基于hough变换的直线检测
  • MATLAB 如何生成 APP ———以运动模糊图像复原为例
  • 高效办公路上MATLAB助你一臂之力
  • 微积分问题的MATLAB求解(二)——龙贝格积分的算法实现
  • 微积分问题的MATLAB求解(一)
  • 技巧篇——如何抓取网页中的图片
  • 数据插值与拟合
  • MATLAB版本的俄罗斯方块签
  • 凉凉——可变速小风扇
  • 跟着工科男学英语单词
  • Matlab GUI 简介
  • 你的时光倒映机
  • 谁说工科男不解风情
  • 您有一份软件著作权请查收
  • 高逼格坐标轴函数
  • plot3与mesh的区别

「在学习中得到乐趣,在乐趣中收获学习」欢迎关注和分享该公众号。如果您有什么建议可以公众号直接回复即可。期待您的加入,也希望您分享给您身边有需要的人,建议直接将该公众号设为星标记公众号,以免错失精内容,该公众号同时开通了视频号「工科男的日常」,欢迎扫描下方二维码关注。

QQ技术交流群:272558566

ddecb64e6ae34c935495c210138f6707.png
微信视频号
06871280c8b5de22d80fc6dd646df210.png
微信公众号

这篇关于matlab imdilate_基于MATLAB的视觉加密技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/840800

相关文章

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数_matlab pmsm-CSDN博客