matlab練習程序(碎片)


這個算法是對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,[])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM