简单的matlab哈哈镜


clc;
close all;
clear all;
 
path1 = 'e:\img\ds2.jpg'; 
 
im1 = imread(path1);
    
[m,n,c] = size(im1);
ratio = 400  / min(m,n); 
im1 = imresize(im1, ratio);
   
[m,n,c] = size(im1);

im1 = im2double(im1);
  
figure; imshow(im1); title('原图');
 
im2 = zeros(m,n,3); 
figure;  
times = 0; 
while times < 20
    times = times+1; 
    r1 = rand;
    r2 = rand;
    r3 = rand;
    r4 = rand;
    for i=1:m    
        ty = i - cos(-i*0.02 *r1*pi + r3 )*m/30; 
        ty = round(ty); 
        ty = min(ty, m); 
        ty = max(1, ty); 

        for j = 1:n
            tx = j + sin(-j*0.02 *r2*pi + r4)*n/30; 
            tx = round(tx); 
            tx = min(tx, n); 
            tx = max(1, tx); 
            im2(i, j, :) = im1(ty, tx, :); 
        end 
    end 
    imshow(im2); title('matlab哈哈镜');  
    drawnow; 
end 
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值