(图像加密)常用图像置乱算法-matlab实现

news/2024/4/16 2:00:36

 计算机处理图像时需要将图像转换成数字化的数据,这时候就需要将二维图像展成一维向量。但是,如果直接将像素点按照顺序展开,就会导致图像的特征信息丢失,影响后续的图像处理和分析。

一种将二维图像展成一维向量后的随机置乱方法。具体来说,就是将像素点按照一定的规则重新排列,这样就能够保留图像的特征信息,同时又能够保证数据的随机性,从而提高了图像处理的效果。

 二维图像展成一维向量后的随机置乱

clc;clear;%二维图像展成一维向量后的随机置乱
P=imread('8888.jpeg');P=rgb2gray(P);
iptsetpref('imshowborder','tight');
figure(1);imshow(P);
[M,N]=size(P);P=double(P);n = M * N;
h=0.002;t=800;a=10;b=8/3;c=28;r=-1;x0=1.1;y0=2.2;z0=3.3;w0=4.4;
s=zeros(1,n);
for i=1:n+tK11=a*(y0-x0)+w0;K12=a*(y0-(x0+K11*h/2))+w0;K13=a*(y0-(x0+K12*h/2))+w0;K14=a*(y0-(x0+K13*h))+w0;x1=x0+(K11+K12+K13+K14)*h/6;K21=c*x1-y0-x1*z0;K22=c*x1-(y0+K21*h/2)-x1*z0;K23=c*x1-(y0+K22*h/2)-x1*z0;K24=c*x1-(y0+K23*h)-x1*z0;y1=y0+(K21+K22+K23+K24)*h/6;K31=x1*y1-b*z0;K32=x1*y1-b*(z0+K31*h/2);K33=x1*y1-b*(z0++K32*h/2);K34=x1*y1-b*(z0+K33*h);z1=z0+(K31+K32+K33+K34)*h/6;K41=-y1*z1+r*w0;K42=-y1*z1+r*(w0+K41*h/2);K43=-y1*z1+r*(w0+K42*h/2);K44=-y1*z1+r*(w0+K43*h);w1=w0+(K41+K42+K43+K44)*h/6;x0=x1;y0=y1;z0=z1;w0=w1;if i>ts(i-t)=x1;if mod((i-t),3000)==0x0=x0+h*sin(y0);endend
endX=mod(floor((s+100)*10^10),M*N)+1;
A=P(:);
for i=1:M*Nt=A(i);A(i)=A(X(i));A(X(i))=t;
end
A=reshape(A,M,N);
figure(2);imshow(uint8(A));

效果: 


http://www.ppmy.cn/news/400308.html

相关文章

怎么更新android 10.0,安卓10.0上线,暂时只有这几款手机才能升级

原标题:安卓10.0上线,暂时只有这几款手机才能升级 随着科技的发展和进步,网络已经融入到我们的日常生活当中,手机成为了日常生活的重要工具。目前在国内有许多的手机品牌,比如小米、华为、苹果、三星、OPPO、vivo等等。…

STM32F103RCT6单片机通过ESP8266抓取网络上时间显示到OLED和物联网dht11温湿度传感器信号采集显示到串口和OLED

案例链接:https://pan.baidu.com/s/1nOc9K42xmKJumcQCV4hqOw?pwd1234 提取码:1234 --来自百度网盘超级会员V1的分享 STM32F103RCT6单片机通过ESP8266抓取网络上时间显示到OLED和物联网dht11温湿度传感器信号采集显示到串口和OLED OLED,spi…

实验课记录 1

基于bysys2的多功能数字时钟设计 是本人一门实验课的设计任务,因为是第一次独立完成一个完整的项目,所以记录一下。 项目要求 主要就是用Verilog或者VHDL写一个数字时钟,实现计时、调时、闹钟、秒表等功能。因为板子比较老,所以…

【Linux】初见“wc命令”,“grep命令”,“zip命令”,“tar命令”

文章目录 1.wc命令1.1 wc命令总结 2.grep命令2.1 grep命令总结 3.gzip、bzip2命令3.1 gunzip、bunzip2命令 4.tar命令4.1 zip命令 1.wc命令 统计文件内容:统计文件中的单词数量(word count)等信息。 wc命令格式:wc [选项]…目标文…

零基础学VB6.0仿真:用四阶龙格库塔法计算传递函数状态方程的结果

目录 前言 一、数学模型 二、算法介绍-四阶龙格库塔法(RUNGE-KUTTA) 三、VB编程 1.编译环境:VB6.0 2.新建工程 3.主程序 4.子函数 5.运行验证 总结 前言 课程探究:连续系统的数值积分,选择合适的编程语言与…

记安装ingress-nginx遇到的一些坑

环境: Linux:CentOS Linux release 7.9.2009 (Core) Kubernetes:v1.23.5 Dokcer:20.10.14 一、安装ingress-nginx wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provi…

EXCEL,神奇的lookup()函数

lookup() 无比强大,也相当麻烦最大的优势:返回的是符合条件的最后1个数据原理是二分法查数据lookup() 中间过程会用到序号(绝对的或相对的)LOOKUP(H5,B9:B28,D9:D28)LOOKUP(H5,B:B,D:D) lookup() 使用注意点 需要用lookup() 查询…

如何让旧电脑运行更快:升级笔记本组件和操作系统

现在用的这台电脑是10年产的华硕K42jr: CPU是双核i3 主频2.2GHz内存是DDR3(3代) 1333(频率) 2G(容量)320G的机械硬盘,SATA2接口散热性能一般 13年初用着还好,之后电脑用着就变得特别卡,电脑上没有游戏,软件大的主要是:…

thymeleaf SpringEl 生成引号

由于需要些前端页面验证功能&#xff0c;前端采用了themeleaf,因而会用到SpringEL。其中个小个地方浪费了及时分钟才搞掂 转化出引号正确的方法 <button th:if"${openid}" th:οnclick"${clear_user_score(openid)}">清除此用户的分数,以及排行榜<…

【RTOS论文笔记】A Comparative Analysis of RTOS and Linux Scalability on an Embedded Many-core Processor

背景 以往对多核实时操作系统的研究主要集中在多核处理器上任务集的可调度性和响应时间分析。 同时&#xff0c;许多研究人员声称&#xff0c;在不久的将来&#xff0c;高端嵌入式系统还将包括高性能并行应用程序&#xff0c;以支持复杂的任务&#xff0c;如车辆的自动驾驶。…

初学ABB机器人与库卡机器人时,常常碰到的问答集锦

1.ABB机器人一次性修改所有指令中的速度&#xff0c;如何实现? 答&#xff1a;可以在初始化程序中加入velset指令。 2.机器人可以与200SMART PLC通讯吗&#xff1f; 答&#xff1a;可以的。一般采用Profinet协议或者Profibus协议 3.触摸屏上实时显示人的当前位置&#xff…

计算机主板上的BIOS与,刷bios,详细教您电脑主板怎么刷bios

BIOS是英文"Base Input/Output System"的缩写简单说,BIOS是烧写在板卡一颗芯片上的一个系统,负责管理板卡上各芯片的参数设定,为电脑提供最底层、最直接的硬件控制,BIOS的开发水平很大程度决定了主板的整体水平。下面,小编给大家带来了电脑主板刷bios的图文。 现…

Failed to Install MAC OS X on Lenovo K42

下载了Snow Leopard, 按照网上找的教程, 到boot安装时提示要使用GUID分区. 使用DiskGenius将硬盘改为GUID (GPT)分区, 但是Windows 7就装不上去了, 看来是人品太差了, 还是搞一台白MAX算了.

华硕K42JC安装显卡驱动后进不了系统解决方法

K42JC是双显卡&#xff0c;Inter集显和NIVIDA独显&#xff0c;一开始用驱动精灵自动更新后&#xff0c;进入win7&#xff0c;在输入用户名密码后&#xff0c;用停留在登陆界面&#xff0c;那个圆圈一直在转啊转。只能强制关机。再次开机&#xff0c;按F8&#xff0c;进入安全模…

k42.第十七章 K8s运维篇-DevOps 持续集成 持续部署 (二)

1.4 Jenkins变量使用 pipeline {agent anystages {stage(Hello) {steps {sh """env"""

华硕K42J触摸屏禁用

首先要安装好安装好ATK快捷键驱动和触控板驱。 http://support.asus.com.cn/Download.aspx?SLanguagezh-cn&mK42JC&p3&s248 下载里面的ATK驱动和触控板驱动 安装完成后重新启动系统 用FnF9来实现关闭和开启触摸屏

联想K42 装机备忘

3 快速启动的显示桌面不见了&#xff1f; 点击“开始→运行”&#xff0c;在弹出的“运行”对话框中输入“REGSVR32 /n /i:u shell32”&#xff08;不含双引号&#xff09;&#xff0c;然后回车&#xff0c;片刻后会弹出“shell32中的DllInstall成功”对话框&#xff0c;“显…

PIC18F47K42 初学篇-1

5月1日开始学习PIC18系列单片机&#xff0c;之前一直用MSP430的16位单片机&#xff0c;技能总是太单一&#xff0c;稳定性不是很好。决定回到8位PIC来看看&#xff0c;从PIC18F47K42开始吧&#xff0c;有一个小红板方便开始学习&#xff0c;配合官网资料、手把手教你学PIC单片机…

使用Vision Transformers实现高效语义分割的内容感知共享Token

文章目录 Content-aware Token Sharing for Efficient Semantic Segmentation with Vision Transformers摘要本文方法Content-aware token sharing frameworkContent-aware token sharing policy 实验结果 Content-aware Token Sharing for Efficient Semantic Segmentation wi…

websocket实时通信【纯后端——JAVA】

本文主要介绍一下websoket的实时通信&#xff0c;这里只有java的代码&#xff0c;通过在线网站 http://www.websocket-test.com/测试即可 1. 导包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocke…
最新文章