matlab练习程序(碎片)
2016-01-03 13:35
453 查看
这个算法是对photoshop中滤镜->像素化->碎片这个功能的学习。
PS这个功能好像不带参数,不过我这里有滤波半径r可以进行控制。
因为我是看效果猜算法的,效果肯定有所区别。
我的想法是对图像以r为长度,在上下左右四个方向做位移,然后进行混合。
代码还是很简单,就不详细介绍了。
处理效果如下:
原图:
处理后效果:
PS碎片效果:
matlab代码如下:
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 lugui
- matlab中find函数的使用说明
- matlab中figure是什么意思
- matlab中的rand函数
- matlab中sort函数的用法
- matlab中repmat函数的用法
- MATLAB中多行注释的三种方法
- matlab plot函数画线,线型和颜色
- 图像小波包分解后如何改变分解系数再重构呢?
- ]MATLAB中的wavedec、wrcoef函数简析
- Matlab求方差,均值,均方差,协方差的函数
- Matlab中的归一化处理
- LibSVM 在matlab中的使用
- Matlab 线性拟合 & 非线性拟合
- matlab中floor和ceil的异同点
- matlab中点乘与乘的区别
- matlab @
- MATLAB中wnoise函数信噪比的问题
- matlab绘图功能的使用
- matlab图像处理