我正在嘗試對我正在處理的程序的圖像執行特徵提取,目前我可以計算這個區域,但是在周邊有問題。如何計算java中二進制圖像的周長?
我怎麼能實現這個爲了返回一個使用java的邊界的數值?
謝謝,
湯姆
Raster raster = source.getRaster();
int perimeter = 0;
for(int y = 0; y<source.getHeight(); y++)
for(int x = 0; x< source.getWidth(); x++)
{
if(raster.getSample(x, y, 0) == 1 && ((raster.getSample(x+1, y, 0)==0) || (raster.getSample(x-1, y, 0)==0) || (raster.getSample(x, y+1, 0)==0) || (raster.getSample(x, y-1, 0)==0)))
perimeter ++;
}
return perimeter;
編輯上面顯示我已經做了一個向上的左下方 – Tom 2011-04-01 13:59:24
「連接到至少一個零值像素」 - 您的示例代碼似乎並沒有做到這一點。我添加了一個例子 – 2011-04-01 14:10:16
這給了我一個巨大的數字,比實際值更多的方式,而我以前的代碼似乎工作正常 – Tom 2011-04-01 14:27:00