💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
🔊博主简介:985研究生,Matlab领域科研开发者;
🚅座右铭:行百里者,半于九十。
🏆代码获取方式:
优快云 Matlab武动乾坤—代码获取方式
更多Matlab图像处理仿真内容点击👇
①Matlab图像处理(进阶版)
⛳️关注优快云 Matlab武动乾坤,更多资源等你来!!
⛄一、双相位编码单通道彩色图像加密简介
1 前言
在国际上不断发展的新一代信息安全理论与技术的研究中,基于光学理论与方法的数据加密、隐藏和提取技术成为了一个重要的组成部分。近年来,国内外很多学者都开始从事这方面的研究,并提出了很多新方法,新技术.在这些研究中,大多是采用单色光照明,因此所恢复的图像将会失去彩色信息.
色彩是自然界的基本属性之一,图像的色彩信息在许多场合都是非常有用的,彩色图像信息的加密处理正受到越来越多的重视.在这类研究中,彩色图像通常被分成3个或多个通道,再采用和灰度图像相同的处理方法,解密时将各个通道组合起来,以恢复原来的彩色图像,这类方法常被称为多通道彩色图像处理.由于使用了多个通道,则相应的光学实现系统也就需要多个光源和多套光学元件,在增加了实验难度的同时,也增加了系统的成本,使此类方法的实用性受到限制.
本文提出一种基于双相位编码的单通道彩色图像加密方法.在该方法中, 图像首先被从RGB空间转换到HSI(色调、饱和度、强度) 空间, 再将其合并到一个通道中,采用双相位编码技术加密.其中,(强度)分量可作为双相位编码时的原始待加密图像,而编码时所用的密钥,可由H(色调)分量和S(饱和度) 分量获得.因为在HSI空间中, 色调与一个角度相对应,可以将其作为一个相位角来处理,该相位即可作为双相位编码中的相位密钥之一;而采用双随机相位加密技术对S分量加密后得到的相息图,可作为双相位编码的另一个密钥.由于仅使用一个通道对彩色图像加密,其相应的光学实现系统仅需一个光源和一套光学元件,不仅使实验难度降低,也减少了系统的成本.又因为采用双随机相位加密技术得到的S分量的相息图,在加密的过程中引进了随机相位因子,在不知密钥的情况下解密出S分量几乎不可能,从而保证了本方法的安全性.模拟实验结果证明了本文所提出方法的有效性。
2.色彩空间的转换
本文中,图像的彩色信息被转换成振幅和位相信息,以实现单通道加密.而彩色图像通常用红、绿、蓝三元组的二维矩阵来表示.为此,首先需将彩色图像用HSI表示.在RGB和HSI之间的变换公式有多种形式, 所有变换方法的基本思想都是一致的.一般而言,对
2.1 RGB 到HSI 的彩色模型转换
2.2 HSI 到RGB 的彩色模型转换
3.彩色图像的单通道加密
3.1.密钥 ——— S 分量的加密
3.2 基于双相位的单通道彩色图像加密
⛄二、部分源代码
clc;close all;
I=imread(‘1.jpg’);% 载入图像
A=im2double(I);% 将图像转为double格式
AA=rgb2hsv(A);
S=AA(:,:,2);
F=AA;
figure,imshow(A);title(‘彩色原始图片’);% 显示图像
figure,imshow(S);title(‘原始’);% 显示图像
[m,n,color]=size(A);
n1=exp(2jpiunifrnd(0,1,m,n));
n2=exp(2jpiunifrnd(0,1,m,n));
S=fftshift(S);
G=ifft2(fft2(S.*n1).*n2);
figure,imshow(G);title(‘编码’);% 显示图像
function [rout,g,b] = hsv2rgb(hin,s,v)
%HSV2RGB Convert hue-saturation-value colors to red-green-blue.
% M = HSV2RGB(H) converts an HSV color map to an RGB color map.
% Each map is a matrix with any number of rows, exactly three columns,
% and elements in the interval 0 to 1. The columns of the input matrix,
% H, represent hue, saturation and value, respectively. The columns of
% the resulting output matrix, M, represent intensity of red, blue and
% green, respectively.
%
% RGB = HSV2RGB(HSV) converts the HSV image HSV (3-D array) to the
% equivalent RGB image RGB (3-D array).
%
% As the hue varies from 0 to 1, the resulting color varies from
% red, through yellow, green, cyan, blue and magenta, back to red.
% When the saturation is 0, the colors are unsaturated; they are
% simply shades of gray. When the saturation is 1, the colors are
% fully saturated; they contain no white component. As the value
% varies from 0 to 1, the brightness increases.
%
% The colormap HSV is hsv2rgb([h s v]) where h is a linear ramp
% from 0 to 1 and both s and v are all 1’s.
%
% See also RGB2HSV, COLORMAP, RGBPLOT.
% Undocumented syntaxes:
% [R,G,B] = HSV2RGB(H,S,V) converts the HSV image H,S,V to the
% equivalent RGB image R,G,B.
%
% RGB = HSV2RGB(H,S,V) converts the HSV image H,S,V to the
% equivalent RGB image stored in the 3-D array (RGB).
%
% [R,G,B] = HSV2RGB(HSV) converts the HSV image HSV (3-D array) to
% the equivalent RGB image R,G,B.
% See Alvy Ray Smith, Color Gamut Transform Pairs, SIGGRAPH '78.
% Copyright 1984-2011 The MathWorks, Inc.
if nargin == 1 % HSV colormap
threeD = ndims(hin)==3; % Determine if input includes a 3-D array
if threeD
h = hin(:,:,1); s = hin(:,:,2); v = hin(:,:,3);
else
h = hin(:,1); s = hin(:,2); v = hin(:,3);
end
elseif nargin == 3
if ~isequal(size(hin),size(s),size(v))
error(message('MATLAB:hsv2rgb:InputSizeMismatch'));
end
h = hin;
else
error(message('MATLAB:hsv2rgb:WrongInputNum'));
end
h = 6.*h;
k = floor(h);
p = h-k;
t = 1-s;
n = 1-s.*p;
p = 1-(s.*(1-p));
% Processing each value of k separately to avoid simultaneously storing
% many temporary matrices the same size as k in memory
kc = (k0 | k6);
r = kc;
g = kc.*p;
b = kc.*t;
kc = (k==1);
r = r + kc.*n;
g = g + kc;
b = b + kc.*t;
kc = (k==2);
r = r + kc.*t;
g = g + kc;
b = b + kc.*p;
b = b + kc;
kc = (k==4);
r = r + kc.*p;
g = g + kc.*t;
b = b + kc;
kc = (k==5);
r = r + kc;
g = g + kc.*t;
b = b + kc.*n;
if nargout <= 1
rout = cat(3,r,g,b);
else
rout = [r g b];
end
else
f = v./max([max(r(:)); max(g(:)); max(b(:))]);
rout = f.*r;
g = f.*g;
b = f.*b;
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]杨晓苹,高丽娟,王晓雷,翟宏琛,王明伟.基于双相位编码的单通道彩色图像加密[J].物理学报. 2009,58(03)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合