LBP特徵 及 Matlab實現

LBP特徵

1.LBP特徵

用於描述局部的紋理特徵,具有旋轉不變性以及灰度不變性。

2.LBP特徵的描述

LBP算子,定義爲,在一個3*3的窗內,一中心點的像素值爲閾值,相鄰的八個點的值,大於閾值則爲1,小於閾值則爲0。相鄰的八個點與其比較可以產生一個八位的二進制數(轉換成10進制則爲0~255),以左上角爲起點,順時針進行旋轉,可以得到八個二進制串,取八個二進制串的最小值,即爲LBP計算得到的中心像素點的值。因此LBP具有旋轉不變性。

3.Matlab實現

function lbp_value = caculate_lbp(image , x, y)
		center = image(x,y);
		temp(1) = double(image(x-1,y-1)>center);
		temp(2) = double(image(x-1,y   )>center);
		temp(3) = double(image(x-1,y+1)>center);
		temp(4) = double(image(x   ,y+1)>center);
		temp(5) = double(image(x+1,y+1)>center);
		temp(6) = double(image(x   ,y+1)>center);
		temp(7) = double(image(x-1,y+1)>center);
		temp(8) = double(image(x   ,y-1)>center);
		for i = 1:8
			value(i) = 0;
			for j = 1:8
				value(i) = value(i) + (2^abs(9-i-j)*temp(j));
			end
		end
		lbp_value =min(value);
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章