Efecto de onda de agua de procesamiento de imagen

En resumen, el círculo de la onda de agua se expande gradualmente desde 0-R y se muestra cuadro por cuadro. Mientras se amplía, el punto de píxel está dotado de una función de onda y una transformación de disminución de energía. El color es para redondear las cuatro direcciones del punto de píxel (vecindad de color), multiplicar el valor de peso y finalmente asignarlo nuevamente al punto.

El centro del punto de generación de la ondulación, el radio de la ondulación, etc. se pueden seleccionar aleatoria y automáticamente.

Lógicamente debería mostrarse de forma dinámica, pero debido al tamaño del vídeo y las imágenes gif no se pueden colocar, el efecto final solo se puede mostrar en el blog.

La siguiente imagen es el efecto:

Determine el código de rango de ondulación:

 dis=dx*dx+dy*dy;
 if dis>R*R || dis==0
     new=[i j k];
else
     dis=sqrt(dis);
a= ((R-dis) * wave*l * sin(dis/wave * 2*pi))/(R*dis); %圆形波动+能量递减(R-dis)/R
*dis去模拟水波效果    
i1=(i+dy*a);         %获得迁移变量
j1=(j+dx*a);         %获得迁移变量

Código de núcleo de transformación de energía de efecto de onda de agua:

float_Y=new(1)-floor(new(1)); %这一步可以算是归一化,方便计算后面四个点的权重
float_X=new(2)-floor(new(2));
new_up_left=[floor(new(1)) floor(new(2)) ];          %获得像素位置的四个邻域
new_up_right=[floor(new(1)) ceil(new(2)) ];
new_down_left=[ceil(new(1)) floor(new(2)) ];
new_down_right=[ceil(new(1)) ceil(new(2)) ];
value_up_left=(1-float_X)*(1-float_Y);              %计算临近四个点的权重,进行插值
value_up_right=float_X*(1-float_Y);
value_down_left=(1-float_X)*float_Y;
value_down_right=float_X*float_Y;       
imgn(i,j,k)=value_up_left*img(new_up_left(1),new_up_left(2),new(3))+ ...
value_up_right*img(new_up_right(1),new_up_right(2),new(3))+ ...
                                
value_down_left*img(new_down_left(1),new_down_left(2),new(3))+ ...
                               
value_down_right*img(new_down_right(1),new_down_right(2),new(3));%将该点计算后的颜色结果赋予该点

Supongo que te gusta

Origin blog.csdn.net/qq_52913088/article/details/125349877
Recomendado
Clasificación