首页 > 其他 > 详细

matlab练习程序(碎片)

时间:2016-01-03 14:45:49      阅读:218      评论:0      收藏:0      [点我收藏+]

这个算法是对photoshop中滤镜->像素化->碎片这个功能的学习。

PS这个功能好像不带参数,不过我这里有滤波半径r可以进行控制。

因为我是看效果猜算法的,效果肯定有所区别。

我的想法是对图像以r为长度,在上下左右四个方向做位移,然后进行混合。

代码还是很简单,就不详细介绍了。

处理效果如下:

原图:

技术分享

处理后效果:

技术分享

PS碎片效果:

技术分享

matlab代码如下:

clear all;close all;clc

img=double(imread(lena.jpg));
[h w]=size(img);
imshow(img,[])

r=10;   %位移距离

%向上下左右四个方向移位,然后再混合
%ps也许是对左上、右上、左下、右下四个角的方向做的位移 left
=zeros(h+2*r,w+2*r); right=zeros(h+2*r,w+2*r); top=zeros(h+2*r,w+2*r); bottom=zeros(h+2*r,w+2*r);
%这里做了一个图像放大的处理,防止最后图像边缘产生突变 left(r
+1:h+r,1:w+r)=imresize(img,[h,w+r]); right(r+1:h+r,r+1:w+2*r)=imresize(img,[h,w+r]); top(1:h+r,r+1:w+r)=imresize(img,[h+r,w]); bottom(r+1:h+2*r,r+1:w+r)=imresize(img,[h+r,w]); imgn=0.25*(left+right+top+bottom); imgn=imgn(r+1:h+r,r+1:w+r); figure;imshow(imgn,[])

 

matlab练习程序(碎片)

原文:http://www.cnblogs.com/tiandsp/p/5096196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!