首先把图片打散成8x8的像素组块,然后乱序组成与原图一样大小的无意义图形后导出,请问用MATLAB怎么实现

欢迎推荐其他具有这种功能的软件,在线等急急急... 欢迎推荐其他具有这种功能的软件,在线等 急急急 展开
 我来答
呼德水sI
2016-12-12 · TA获得超过351个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:350万
展开全部

map = imread('girl.jpg');
subplot(121);
imshow(map);
dim = size(map);
m = dim(1);
m1 = (m-mod(m,8))/8;
n = dim(2);
n1 = (n-mod(n,8))/8;
map1 = imresize(map,[m1*8 n1*8]);
array = randperm(64);
array = reshape(array,8,8);
map2 = map1;
for i = 1:8
for j = 1:8
array0 = array(i,j);
j1 = mod(array0,8);
if j1 == 0
j1 = 8;
end
i1 = (array0-j1)/8+1;
map2(m1*(i-1)+1:m1*i,n1*(j-1)+1:n1*j,:) = map1(m1*(i1-1)+1:m1*i1,n1*(j1-1)+1:n1*j1,:);
end
end
map3 = imresize(map2,[m n]);
subplot(122);
imshow(map3);

更多追问追答
追问
代码可行,十分感谢,那么最后一个问题,我实际上只需要那个新图,请问怎么导出,我是个小白试了很久。。。可不可以直接在代码哪里,把新图另存为一下,请帮忙加两行代码实现 谢谢
追答
clf
imshow(map3);
saveas(gcf,'result','jpg');
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式