matlab置乱图像复原
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab置乱图像复原相关的知识,希望对你有一定的参考价值。
参考技术A f=checkerboard(8);%读图像
psf=fspecial('gaussian',7,10);
%高斯核
sd=0.01;%噪声标准差
g=imnoise(imfilter(f,psf),'gaussian',0,sd^2);%图像中加入模糊核噪声
subplot(3,2,1);%三子图第一张
imshow(f),title('(a)');%画原图
subplot(3,2,2);%三子图第二张
imshow(g),title('(b)');%画降质图像
dampar=10*sd;%去模糊参数
lim=ceil(size(psf,1)/2);%坐标缩影
weight=zeros(size(g));%去模糊权重初始化
weight(lim+1:end-lim,lim+1:end-lim)=1;%去模糊权重赋值
numit=5;%迭代次数
f5=deconvlucy(g,psf,numit,dampar,weight);%去模糊
subplot(3,2,3);%三子图第三张
imshow(f5),title('(c)');%画复原图像
14. matlab图像处理基础——数字水印置乱版权保护视频处理
1、数字水印置乱
clc; clear all; o = imread(‘lena.jpg‘); subplot(2,3,1),imshow(o),title(‘原始图像‘); w = imread(‘shuiyin.png‘); subplot(2,3,2),imshow(w),title(‘原始水印‘); [m,n] = size(w); c = linspace(0,0,m*n); c(1) = 0.23; for i = 2:m*n c(i) = 1-2*c(i-1)*c(i-1); end [cI,b] = sort(c); w1 = w; i = 1:m*n; w1(i) = w(b(i)); subplot(2,3,3),imshow(w1),title(‘置乱水印‘); ow = bitset(o,1,w1); subplot(2,3,4),imshow(ow),title(‘含水印图片‘); wG = bitget(ow,1); subplot(2,3,5),imshow(double(wG)),title(‘提取出来的水印‘); wo = w; wo(b(i)) = wG(i); subplot(2,3,6),imshow(double(wo)),title(‘复原后的水印‘);
2、版权保护
(1)基本原理
(2)matlab实现:
clc; clear all; % 读入原始图像和版权图像 o = imread(‘lena.jpg‘); subplot(2,2,1),imshow(o),title(‘原始图像‘); w = imread(‘shuiyin.png‘); subplot(2,2,2),imshow(w),title(‘版权图像‘); % 原始水印大小 [m,n] = size(w); % 生成位置矩阵 e = linspace(0,0,m*n); e(1) = 0.53; for i = 2:m*n e(i) = 1-2*e(i-1)*e(i-1); end e = mod(fix(e*10000000),4)+1; % 嵌入版权图像 i = 1:m*n; ow = o; ow(i) = bitset(o(i),e(i),w(i)); subplot(2,2,3),imshow(ow),title(‘含版权图像‘); % 根据位置矩阵提取版权图像 wG = w; wG(i) = bitget(ow(i),e(i)); subplot(2,2,4),imshow(double(wG)),title(‘提取出来的版权图像‘);
3、视频处理
(1)视频转图像
(2)图像转视频
① 创建并打开视频文件
② 在循环中获取图像帧并写入视频
③ 循环结束后关闭视频文件句柄:close(writerObj);
(3)视频插入帧(前+后+随意位置)
(4)绘制图形动画
(5)视频帧置乱
① 读取数字,构成视频
② 生成置乱用序列(混沌系统)
③ 视频帧置乱
④ 视频帧逆置乱
以上是关于matlab置乱图像复原的主要内容,如果未能解决你的问题,请参考以下文章