如何给MATLAB生成的报告进行加密和解密

如何给MATLAB生成的报告进行加密和解密,第1张

是对报告进行加密解密还是用matlab加密解密,如果是前者,直接下载个加密解密程序使用即可,如果是后者,在生成报告前进行加密处理,在读报告时进行解密处理,加密解密算法可以在网上下载,有matlab源码。

应该是视频在前面,处理图像在后面吧?

你后面的那个是每隔5帧截取一张储存并以i命名。

想要连接起来其实比较简单的,就是在处理处加一个大的for循环就可以了。

把视频程序放前面。截图储存后再读取处理,这里要注意的是你每隔5帧截一个,是不是有点太频了?还有弄个短点的视频,5秒左右。这样不会太浪费计算机资源,如果太大了可能会蓝屏或者死机哦。

其实,连在一起很简单的。就这样;(我在我机子上运行了一次,储存地址改了,你自己改回来吧)

clc;clear all;close all;

mov = VideoReader('C:\Users\epwqe_000\Desktop\MatlabAsa\sssssavi');%改地址

fnum = movNumberOfFrames;%

for i = 1:5:fnum

frame = read(mov, i);

imshow(frame);

imwrite(frame,strcat('C:\Users\epwqe_000\Desktop\MatlabAsa\New Folder\',num2str(i),'jpg'),'jpg');%改地址

img=strcat(num2str(i),'jpg');

I = imread(img);

[Ix,Iy,Iz]=size(I);

if Ix>400&Iy>300

I=imresize(I,[400,Iy400/Ix],'nearest');

end

figure

imshow(I)%输出图像

title('normal image')

I=double(I); %将I转换成double类型

[hue,s,v]=rgb2hsv(I); %将RGB格式转换成HSV格式

cb=0148I(:,:,1)-0291I(:,:,2)+0439I(:,:,3)+128;%将RGB转换为YCrCb格式

cr=0439I(:,:,1)-0368I(:,:,2)-0071I(:,:,3)+128;

[w h]=size(I(:,:,1));%获取转化后的I图像

for i=1:w

for j=1:h

if 145<=cr(i,j)&cr(i,j)<=165&145<=cb(i,j)&cb(i,j)<=180&001<=hue(i,j)&hue(i,j)<=015

segment(i,j)=1;

else

segment(i,j)=0;

end

end

end

figure

imshow(segment);

skin=segment;

% 去除小像素联通区域

skin=bwareaopen(skin,round(wh/900));

%dilating

se=strel('square',5);%创建结构区域

skin=imdilate(skin,se); %膨胀作用

im(:,:,1)=I(:,:,1)skin;

im(:,:,2)=I(:,:,2)skin;

im(:,:,3)=I(:,:,3)skin;

figure

imshow(uint8(im));

title('skin areas')

BW = skin;

L = bwlabel(BW,8);%

BB = regionprops(L, 'BoundingBox');%L等于几对应几

BB1=struct2cell(BB);%转换结构bb到bb1里

BB2=cell2mat(BB1);

figure,imshow(uint8(I));

title('result image');

[s1 s2]=size(BB2);

for k=3:4:s2-1

if (BB2(1,k)/BB2(1,k+1)) < 18 &&

(BB2(1,k)/BB2(1,k+1)) > 04 &&

(BB2(1,k)BB2(1,k+1)) > 1000

hold on;

rectangle('Position',[BB2(1,k-2),BB2(1,k-1),BB2(1,k),BB2(1,k+1)],'EdgeColor','r' )%指定位置添加矩形

end

end

end

基于Arnold变换的图像加密: 记住把注释掉的程序单独写个M文件,放在同一路径下

clc;clear;close all;

randoma=input('请输入用户指令:','s');%

P=randoma;

%P=str2num(P);

if (P=='')

tu=uigetfile();

I=imread(tu);

imshow(tu);hold on;

%imshow('tu');

[M,N,P]=size(I);

rand('state',0);

% randoma=input('请输入用户指令:');%

% P=randoma;

% if (P==314)

T=96;

R=rand(M,N)pi2;

xlswrite('Rxls',R);

%kk=xlsread('jjmxls');%32 43 55 63

a1=input('请输入a1:');

a2=input('请输入a2:');

a3=input('请输入a3:');

a4=input('请输入a4:');

kk=[a1,a2,a3,a4];

xlswrite('kkxls',kk);

%%

I=double(I);

Ie=encrypt(I,R,kk);

figure;

imshow(Ie,[]);

%%

%%加密图像 其中调用了encrypt函数

%function Ie=encrypt(I,R,kk);

%Ir=I(:,:,1);Ig=I(:,:,2);Ib=I(:,:,3);

% [Xr,Xg,Xb]=Tmatrix(Ir,Ig,Ib,R);

% I1r=blkart2a(Xr,kk);I1g=blkart2a(Xg,kk);I1b=blkart2a(Xb,kk);

% I0r=dct2(I1r);I0g=dct2(I1g);I0b=dct2(I1b);

% [X1r,X1g,X1b]=Tmatrix(I0r,I0g,I0b,R);

% I2r=blkart2a(X1r,kk);I2g=blkart2a(X1g,kk);I2b=blkart2a(X1b,kk);

% I3r=idct2(I2r);I3g=idct2(I2g);I3b=idct2(I2b);

% Ie(:,:,1)=I3r;Ie(:,:,2)=I3g;Ie(:,:,3)=I3b;

% [Xr,Xg,Xb]=Tmatrix(Ir,Ig,Ib,R);

% Xr=Ircos(R)+Igsin(R)^2-Ibsin(R)cos(R);

% Xg=-Irsin(R)+Igsin(R)cos(R)-Ibcos(R)^2;

% Xb=Igcos(R)+Ibsin(R);

a1=input('请输入a1:');

a2=input('请输入a2:');

a3=input('请输入a3:');

a4=input('请输入a4:');

kk=[a1,a2,a3,a4];

R=uigetfile();

R=xlsread('Rxls');

%%

Ii=decrypt(Ie,R,kk);

Ii=Ii-min(Ii(:));Ii=Ii/max(Ii(:));

h = waitbar(0,'Please wait');

steps = 600;

for step = 1:steps

%figure;imshow(Ii,[]);

waitbar(step / steps)

end

close(h)

figure;imshow(Ii,[]);

h = waitbar(1,'完成解密','color','');

steps = 1;

for step = 1:steps

h = waitbar(1,'finish!','color','');

end

close(h);

warning off

end

%%

%%解密图像,调用decrypt函数

% function J=decrypt(Ie,R,kk);

% T=96; % period of Arnold transform

% J2r=Ie(:,:,1);J2g=Ie(:,:,2);J2b=Ie(:,:,3);

% J2r=dct2(J2r);J2g=dct2(J2g);J2b=dct2(J2b);

% Y1r=blkart2a(J2r,T-kk);Y1g=blkart2a(J2g,T-kk);Y1b=blkart2a(J2b,T-kk);

% [J0r,J0g,J0b]=iTmatrix(Y1r,Y1g,Y1b,R);

% J1r=idct2(J0r);J1g=idct2(J0g);J1b=idct2(J0b);

% Yr=blkart2a(J1r,T-kk);Yg=blkart2a(J1g,T-kk);Yb=blkart2a(J1b,T-kk);

% [Jr,Jg,Jb]=iTmatrix(Yr,Yg,Yb,R);

% J(:,:,1)=Jr;J(:,:,2)=Jg;J(:,:,3)=Jb;

以上就是关于如何给MATLAB生成的报告进行加密和解密全部的内容,包括:如何给MATLAB生成的报告进行加密和解密、matlab程序翻译 求详细文字说明 %% 加密 %imwrite(b_Q1,'lena2.tif','tif');、MATLAB图像的加密与水印处理程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9499152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存