【问题标题】:how to get 50% darkshade on an image in matlab如何在matlab中的图像上获得50%的暗影
【发布时间】:2013-08-14 04:15:51
【问题描述】:

我有一个问题要问我。目标是将图像加密为一些噪音,最后必须在该图像上获得 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。有人可以帮忙吗?

【问题讨论】:

标签: image matlab noise


【解决方案1】:

应该这样做:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2013-04-26
    • 2015-08-30
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多