日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

力场变换

發布時間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 力场变换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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+rfor j=1+r:n+rf=0;for p=i-r:i+rfor q=j-r:j+rif i~=p &&j~=qp0=[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 endf_field(i,j)=f; end endfigure; 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>0re=360-jiao;elsere=jiao; end end

下面是運行效果:

原圖

7*7的局部力場

簡單的標量求和,似乎有一種朦朧美

總結

以上是生活随笔為你收集整理的力场变换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。