1. 程式人生 > >[影象] 二值影象的位置、朝向與投影

[影象] 二值影象的位置、朝向與投影

        二值影象就是由0,1組成的影象。我們可以通過一些簡單的計算獲取影象的一系列資訊。

       面積:

        所有1的總和

        位置:

        影象的位置一般由質心來表達,我們可以直接根據質心的定義來計算x軸方向和y軸方向的質心,然後得到中心(xm,ym)

        

        朝向:

        《機器視覺》一書給出的朝向的定義:

      

         在這裡,我們需要求的事最小二階矩所對應的軸。

         我們用一個點和直線與x軸的夾角來定義朝向所在的軸位置,首先我們經過推導可以得到:最小二階矩對應的軸經過質心。

         接下來,我們只需求出夾角。

       

        其中:

        


        投影:

        簡單而言,投影就是某個方向上,1的總和。

       在具體實現中,我們可以使用增量的思想來加速運算。我們知道在顯示載入影象的時候,我們是用掃描線一行一行地載入影象的,所以我們可以在這個過程中計算一階矩和二階矩,進而計算二值影象的一些特徵的值。

       matlab程式碼:

function twoValueImg(f)
[m,n] = size(f);
s = 0; %面積
x1 = 0; % 一階矩 x方向
y1 = 0; % 一階矩 y方向
a = 0; % 二階矩
b = 0; % 二階矩
c = 0; % 二階矩
for i = 1:m
    for j = 1:n
        if(f(i,j)==1) % 增量思想
            s = s + 1;
            x1 = x1 + i;
            y1 = y1 + j;
            a = a + i*i;
            b = b + i*j;
            c = c + j*j;
        end
    end
end