JavaScript編程通過(guò)Matlab質(zhì)心算法定位學(xué)習(xí)
Matlab作為封閉的商業(yè)軟件,受美國(guó)政府左右,無(wú)視商業(yè)道德,故不建議使用。如果喜歡Matlab語(yǔ)法,可移步開(kāi)源的octave,其語(yǔ)法與matlab完全相同。
Matlab質(zhì)心算法
所謂質(zhì)心,就是當(dāng)密度作為像素點(diǎn)灰度值時(shí)的重心,例如其質(zhì)心的x坐標(biāo)為

最直觀的方法就是下面的這種方式了。
%%通過(guò)質(zhì)心算法找到img的質(zhì)心位置
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;
這么寫足夠簡(jiǎn)單粗暴,卻也太丑了,畢竟在Matlab中,矩陣才是最基本的操作單元。
而且在累加求和的過(guò)程中,也的確反復(fù)使用了相同的數(shù)組。對(duì)于第i行而言,每一列分別與1,2,3...相乘并求和,也就是第i行向量與向量[1:n]的點(diǎn)積。于是先不管整張圖片,第i行向量的質(zhì)心也就可以比較簡(jiǎn)單地寫出來(lái)了。
x = img(i,:)*(1:n)'/sum(img(i,:));
基于此,我們還得到了一個(gè)意外收獲,即可以很方便地把每一行的質(zhì)心用一行表達(dá)式寫出來(lái)
x = img*(1:n)'./sum(img,2);%每一行的質(zhì)心 y = (1:m)*img./sum(img);%每一列的質(zhì)心
強(qiáng)迫癥表示看上去很舒服。
相應(yīng)地,圖片整體的質(zhì)心可寫為
sumImg = sum(img(:)); x = sum(img)*(1:n)'/sumImg; y = (1:m)*sum(img,2)/sumImg;
以上就是JavaScript編程通過(guò)Matlab質(zhì)心算法定位學(xué)習(xí)的詳細(xì)內(nèi)容,更多關(guān)于JavaScript定位Matlab質(zhì)心算法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
LoadRunner調(diào)用JS加密后登錄實(shí)現(xiàn)
這篇文章主要為大家介紹了LoadRunner調(diào)用JS加密后登錄實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
前端對(duì)接WebSocket與心跳重連實(shí)現(xiàn)
這篇文章主要為大家介紹了前端對(duì)接WebSocket與心跳重連實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
微信小程序 動(dòng)畫的簡(jiǎn)單實(shí)例
這篇文章主要介紹了微信小程序 動(dòng)畫的簡(jiǎn)單實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-10-10
如果文字過(guò)長(zhǎng),則將過(guò)長(zhǎng)的部分變成省略號(hào)顯示
如果文字過(guò)長(zhǎng),則將過(guò)長(zhǎng)的部分變成省略號(hào)顯示...2006-06-06
微信小程序 搖一搖抽獎(jiǎng)簡(jiǎn)單實(shí)例實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序 搖一搖抽獎(jiǎng)簡(jiǎn)單實(shí)例實(shí)現(xiàn)代碼的相關(guān)資料,這里實(shí)現(xiàn)搖一搖抽獎(jiǎng)的功能,需要的朋友可以參考下2017-01-01
JavaScript中七種流行的開(kāi)源機(jī)器學(xué)習(xí)框架
今天小編就為大家分享一篇關(guān)于JavaScript中五種流行的開(kāi)源機(jī)器學(xué)習(xí)框架,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
微信小程序 form組件詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了微信小程序 form組件詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01
Three.js添加陰影和簡(jiǎn)單后期處理實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了Three.js添加陰影和簡(jiǎn)單后期處理實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

