0

我有一个问题要问我。目标是将图像加密为一些噪音,最后必须在该图像上获得 50% 的黑色阴影。我已经完成了加密。谁能告诉我如何获得 50%暗影在里面。

clc;
clear all;
close all;
a=imread('lenna.jpg');
%figure,imshow(a);
b=rgb2gray(a);
figure,imshow(b);
c=double(b);
%figure,imshow(c);
d=randn(512,512);
e=exp(2*pi*i*d);
f=c.*e;
%figure,imshow(f);
g=fft2(f);
h=randn(512,512);
s=exp(2*pi*i*h);
j=g.*s;
k=fft2(j);
figure,imshow(k);

这里 k 是加密的图像。现在我需要将此图像 50% 更改为黑色。图像是 512px。有人可以帮忙吗?

4

1 回答 1

0

这应该这样做:

for i=1:512
  indices = randi(512,256,1);
  k(indices,i) = 0;
end

它选择每行的 256 个像素(即 50%)并将它们设置为零。我把它放在一个 for 循环中,因为 randi(512^2,512^2/2) 可能有内存问题......

于 2013-08-14T09:58:40.347 回答