JavaScript編程通過Matlab質心算法定位學習
Matlab作為封閉的商業(yè)軟件,受美國政府左右,無視商業(yè)道德,故不建議使用。如果喜歡Matlab語法,可移步開源的octave,其語法與matlab完全相同。
Matlab質心算法
所謂質心,就是當密度作為像素點灰度值時的重心,例如其質心的x坐標為
最直觀的方法就是下面的這種方式了。
%%通過質心算法找到img的質心位置 function [x,y] = oCenter(img) img = double(img); [m,n] = size(img); x = 0;y = 0;sum=0; for i = 1:m for j = 1:n y = y + img(i,j)*i; x = x + img(i,j)*j; sum = sum+img(i,j); end end x = x/sum; y = y/sum;
這么寫足夠簡單粗暴,卻也太丑了,畢竟在Matlab中,矩陣才是最基本的操作單元。
而且在累加求和的過程中,也的確反復使用了相同的數(shù)組。對于第i行而言,每一列分別與1,2,3...
相乘并求和,也就是第i行向量與向量[1:n]
的點積。于是先不管整張圖片,第i行向量的質心也就可以比較簡單地寫出來了。
x = img(i,:)*(1:n)'/sum(img(i,:));
基于此,我們還得到了一個意外收獲,即可以很方便地把每一行的質心用一行表達式寫出來
x = img*(1:n)'./sum(img,2);%每一行的質心 y = (1:m)*img./sum(img);%每一列的質心
強迫癥表示看上去很舒服。
相應地,圖片整體的質心可寫為
sumImg = sum(img(:)); x = sum(img)*(1:n)'/sumImg; y = (1:m)*sum(img,2)/sumImg;
以上就是JavaScript編程通過Matlab質心算法定位學習的詳細內容,更多關于JavaScript定位Matlab質心算法的資料請關注腳本之家其它相關文章!
相關文章
JavaScript?sort方法實現(xiàn)數(shù)組升序降序
這篇文章主要為大家介紹了JavaScript?sort方法實現(xiàn)數(shù)組升序降序示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07JavaScript?CSS優(yōu)雅實現(xiàn)網頁多主題風格換膚功能詳解
這篇文章主要為大家介紹了JavaScript?CSS優(yōu)雅的實現(xiàn)網頁多主題風格換膚功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02TypeScript與JavaScript對比及打包工具比較
這篇文章主要為大家介紹了TypeScript與JavaScript對比及打包工具比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03