1条回答 默认 最新
关注
简单案例站内教程很多,供你参考两个,课程实践作业建议自行学习调试:
1.logistic混沌序列图像加密:
clc,clear,close all; pic1 = imread("任选一张图片.jpg"); pic1 = rgb2gray(pic1); #转灰度 imshow(pic1) [M,N] = size(pic1(:,:,1)); x0 = 0.5; u = 0:0.008:4; xn = ft_logistic(x0,length(u)-1,u); %生成混沌序列 figure() plot(u(2:end),xn,'b.',"linewidth",1.2) grid on L_xn = zeros(1,M*N); L_xn(1) = xn(1,end); %将混沌状态的最后一个值作为初值 for i = 1:M*N-1 %生成新的混沌序列用于加密 L_xn(i+1) = 4*L_xn(i)*(1-L_xn(i)); end L_xn = uint8(255*L_xn); %混沌序列反归一化 xnn = reshape(L_xn,[M,N]); %xnn为混沌秘钥 mixed_pic = bitxor(pic1,xnn); %异或操作加密 figure() imshow(mixed_pic) remix_pic = bitxor(mixed_pic,xnn); %异或操作解密 figure() imshow(remix_pic) function [yn] = ft_logistic(x0,num_len,u) xn = x0; for j = 1:num_len u_i = u(j); for i = 1:j xn(i+1) = u_i*xn(i).*(1-xn(i)); end yn(1,j) = xn(j); end end
2.卷积运算图像锐化:
clc,clear,close all; pic1 = imread("任选图片.jpg"); pic1 = im2double(pic1); %选择卷积核模板 k_core = [ 0 -1 0 ; -1 5 -1 ; 0 -1 0 ]; [pic2,pic3] = sharpen(pic1,k_core); %卷积运算,锐化处理 subplot(311) imshow(pic1);title('原图') subplot(312) imshow(pic2);title('锐化图像') subplot(313) imshow(pic3);title('已取反的边缘') function [fsha,fedg]=sharpen(f,Operator) [m,n,h]=size(f); fsha=f; for k=1:h for i=2:m-1 for j=2:n-1 fsha(i,j,k)=sum(sum(f(i-1:i+1,j-1:j+1,k).*Operator)); %根据模板进行锐化处理 end end end if sum(Operator(:))>0 fedg=f-fsha+1; %取反加重的边缘 else fedg=1-fsha; %取反未加重的边缘 fsha=f+fsha; %此时,锐化图像=原图像+边缘 end end
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥40 微信小程序 使用vant组件ActionSheet 下拉面板,内容区域滚动会触发。scroll-view自定义下拉刷!即使设置停止下拉刷新也不行。
- ¥15 专业问题提问,7月5号2点之前
- ¥25 使用cube ai 导入onnx模型时报错
- ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
- ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
- ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变
- ¥15 使用华为ENSP软件模拟实现该实验拓扑
- ¥15 通过程序读取主板上报税口的数据
- ¥15 matlab修改为并行
- ¥15 尝试访问%1服务的windows注册表时遇到问题。必须先解决此问题,然后才能运行安装过程。(请确认您正在使用管理员权限运行)373