关闭

力场变换

313人阅读 评论(0) 收藏 举报
分类:

matlab练习程序(力场变换)

  把图像中每一个像素当成有质量的恒星,像素的灰度值就相当于恒星的质量,运用万有引力定律求得每个像素受到其他像素的“力”,获得力场图像。

  公式就是中学的万有引力公式,不过这里是向量场,所以每一个像素受到的力不是简单的叠加,是矢量求和。

  好像有用这个力场变换识别耳朵的。

  这里也是求模板大小的局部力场,全局力场我运行了1天,结果不太理想。

  相关代码:

main.m

复制代码
clear all;
close all;
clc;

r=3;
img=imread('lena.jpg');
img=double(img);
[m n]=size(mat2gray(img));

imgn=zeros(m+2*r+1,n+2*r+1);
imgn(r+1:m+r,r+1:n+r)=img;
imgn(1:r,r+1:n+r)=img(1:r,1:n); 
imgn(1:m+r,n+r+1:n+2*r+1)=imgn(1:m+r,n:n+r);
imgn(m+r+1:m+2*r+1,r+1:n+2*r+1)=imgn(m:m+r,r+1:n+2*r+1);
imgn(1:m+2*r+1,1:r)=imgn(1:m+2*r+1,r+1:2*r);

f_field=imgn;
for i=1+r:m+r
   for j=1+r:n+r
      
       f=0;
       for p=i-r:i+r
          for q=j-r:j+r
              if i~=p &&j~=q
                  p0=[i j];
                  lev=[i+10 j];
                  p1=[p q];
                  
                  jiao=multi_jiao(p1,lev,p0);       %以下四步是通过夹角定理与叉积确定向量和水平向量的夹角
                  flag=multi(p1,lev,p0);
                  jiao=xiangxian(jiao,flag);
                  jiao=mod(jiao,360);
                  
                  value=cos(jiao*pi/180);       %通过余弦确定权重,力场是一个向量场
                  f=f+imgn(i,j)*imgn(p,q)/sqrt((i-p)^2+(j-q)^2)*value;  %万有引力定律
              end            
          end           
       end
       f_field(i,j)=f;       
   end    
end

figure;
f_field=f_field(r+1:m+r,r+1:n+r);
imshow(mat2gray(f_field));
复制代码

multi_jiao.m

复制代码
function re=multi_jiao(p1,p2,p0)    %判断<p10,p20>夹角
    x=1;
    y=2;

    vec1=p1-p0;
    vec2=p2-p0;

    re=acos(dot(vec1,vec2)/(norm(vec1)*norm(vec2)))*180/pi;
end
复制代码

multi.m

复制代码
function re=multi(p1,p2,p0)     %p10,p20叉积,获取正负
    x=1;
    y=2;
   
   re=(p1(x)-p0(x))*(p2(y)-p0(y))-(p1(y)-p0(y))*(p2(x)-p0(x));

end
复制代码

xiangxian.m

复制代码
function re=xiangxian(jiao,flag)
   
    if flag>0
        re=360-jiao;
    else
        re=jiao;            
    end              
   
end
复制代码

下面是运行效果:

原图

7*7的局部力场

简单的标量求和,似乎有一种朦胧美

0
0
查看评论

Unity 力场

是 力场时一种为刚体快速添加恒定作用力的方法,使用于类似火箭等发射出来的对象,这些对象在初始并没有很大的速度但却是在不断加速的   添加   1.为选择的游戏对象添加力场组件,依次打开菜单栏的componect->Physics->constant fo...
  • u012487582
  • u012487582
  • 2013-12-30 18:37
  • 1005

分子力场简介 来自wiki百科

分子力场根据量子力学的波恩-奥本海默近似,一个分子的能量可以近似看作构成分子的各个原子的空间坐标的函数,简单地讲就是分子的能量随分子构型的变化而变化,而描述这种分子能量和分子结构之间关系的就是分子力场函数。分子力场函数为来自实验结果的经验公式,可以讲对分子能量的模拟比较粗糙,但是相比于精确的量子力学...
  • rogerzhanglijie
  • rogerzhanglijie
  • 2013-01-06 14:24
  • 3347

Unity物理引擎:力场

力场是一种为刚体快速添加恒定作用力的方法。 Force:力。,用于设定在世界坐标系中使用的力,向量表示。 Relative Force:相对力。用于设定在物体局部坐标系中使用的力。向量表示。 Torque:扭矩,设定在世界坐标系中使用的扭矩力,向量表示,对象将依据该向量进行转动。向量越长转动越快。 ...
  • lishuzhai
  • lishuzhai
  • 2015-09-16 15:00
  • 1255

自由场与压力场麦克风区别以及应用领域

当麦克风架设于音场之中,麦克风本身会影响音场并改变声压值,依据音场的差异以及麦克风的型式,某些影响非常的微小可忽略不计;但是也有可能会造成量测上的误差,误差值可能高达几个分贝,因此这些影响必须加以评估。在自由音场中,麦克风架设于此音场会干扰音场之声压。原因是麦克风在音场中会产生反射声波,在相同的量测...
  • grassygreen
  • grassygreen
  • 2016-12-29 07:49
  • 602

[防御与系统]力场盾防御系统建立的技术基

[防御与系统]力场盾防御系统建立的技术基础 博客分类:  工作流系统设计 节日祝词 军事与科技 搜索引擎实验 杂文 宇宙与天文 科幻与奇幻 游戏人生 行业信息化建设 情感与生活 计算机硬件和网络基础设施建设        为...
  • dotedy
  • dotedy
  • 2015-10-16 14:21
  • 381

CGS flip 学习总结

w1: 1.voxel的概念,vdb与houdini volume的区别 (1)一个是vdb信息,一个是volume信息 (2)计算方式不同,vdb速度快很多 2.让粒子沿着碰撞体表面流动,利用gradient和v属性两次叉乘得出沿着表面的切线方向, 再利用gradient和sdf信息...
  • zmaiyo
  • zmaiyo
  • 2015-09-17 20:35
  • 585

版面中“线”的意义

在对版面进行分割的时候需要考虑版面中各元素之间的联系,同时根据内容划分空间的主次关系,呼应关系和形式关系,以保证良好的视觉秩序感。
  • Zhongmeishijue
  • Zhongmeishijue
  • 2017-05-11 17:25
  • 183

【Shader】扭曲能量罩特效

Shader "Custom/ForceField" { Properties { _Color("Color", Color) = (0,0,0,0) _NoiseTex("NoiseTexture", 2D) = &qu...
  • sinat_20559947
  • sinat_20559947
  • 2017-12-27 20:26
  • 118

Sicily 1223. 防御力场

1223. 防御力场 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Y国向X国发动了总进攻,X国在防御方面有着非常高的科技,他们在国内建了许多许多防御塔(共N个),两个防御塔间可以产...
  • u012925008
  • u012925008
  • 2015-03-14 16:29
  • 383

JZOJ4877. 力场护盾

题目大意 给出坐标系中的n个点和两个向量(x1,y1),(x2,y2)。找出一条路径使得路径上每一个点都在上一个点为源点,以两个向量为夹角的区域内。 求路径最多经过的点数。 Data Constraint n≤200000,向量夹角≤180°
  • Akak__ii
  • Akak__ii
  • 2016-11-14 21:18
  • 184
    个人资料
    • 访问:97831次
    • 积分:1396
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:77篇
    • 译文:0篇
    • 评论:14条
    文章分类
    最新评论