matlab练习程序(随机粒子切换特效)

视频制作软件中一般都会有相邻帧切换的特效,我过去用过vagas好像就有很多切换特效。

我想这个也算是其中一种吧,虽然我不确定实际中到底有没有这种切换。

实际上我只是下班后太无聊了,写着玩的,没什么高深的东西。

从lena图转换为rice图的效果如下:

matlab练习程序(随机粒子切换特效)

matlab代码如下:

clear all;close all;clc;



img=imread('lena.jpg');

img2=imread('rice.png');

[h w]=size(img);



imshow(img,[]);



flag=1;

k=0.0;

while 1

    imgn=zeros(h,w);

    for y=1:h

        for x=1:w



            dx=rand()*2*w*k-w*k;

            dy=rand()*2*h*k-h*k;



            xx=round(x+dx);

            yy=round(y+dy);



            if xx>=1 && xx<=w && yy>=1 && yy<=h

                imgn(yy,xx)=img(y,x);

            end

        end

    end

    if flag==1

        k=k+0.05;

    else

        k=k-0.05;

    end

   

    if k>=1

       flag=0;

       img=img2;

    end

    if k<=0

       flag=1;

       break;

    end



    figure(1)

    imshow(imgn,[]);



end



imshow(img,[])

 

你可能感兴趣的:(matlab)