is this the right code ?
이전 댓글 표시
i'm trying to get features from my thinned of finger vein images by using lbp. i found this code, is this right code to extract features lbp from my images ?
I2 = imread(thisismythinnedimage);
figure, imshow(I2)%
w=size(I2,1);
h=size(I2,2);
%%LBP
for i=2:w-1
for j=2:h-1
J0=I2(i,j);
I3(i-1,j-1)=I2(i-1,j-1)>J0;
I3(i-1,j)=I2(i-1,j)>J0;
I3(i-1,j+1)=I2(i-1,j+1)>J0;
I3(i,j+1)=I2(i,j+1)>J0;
I3(i+1,j+1)=I2(i+1,j+1)>J0;
I3(i+1,j)=I2(i+1,j)>J0;
I3(i+1,j-1)=I2(i+1,j-1)>J0;
I3(i,j-1)=I2(i,j-1)>J0;
LBP(i,j)=I3(i-1,j-1)*2^8+I3(i-1,j)*2^7+I3(i-1,j+1)*2^6+I3(i,j+1)*2^5+I3(i+1,j+1)*2^4+I3(i+1,j)*2^3+I3(i+1,j-1)*2^2+I3(i,j-1)*2^1;
end
end
figure,imshow(I3)
figure,imhist(LBP)
i have tried this code but not understand enough how the codes works to get lbp from my images i intended to get bins of lbp for classification. from this code i cannot get decimal value of bins .
댓글 수: 2
Stephen23
2017년 9월 5일
@azkya novia: today I formatted your code correctly for you. In future you can do it yourself: first select the code text, then click the {} Code button.
azkya novia
2017년 9월 5일
채택된 답변
추가 답변 (1개)
The code may or may not be correct. I've not wasted the time checking every single line is correct as it's so horribly written. I suggest you do a search on the FileExchange for some better code.
An example of how bad the code is: you can replace all the I3(.., ..) = ... lines by just this one line:
I3(i-1:i+1, j-1:j+1) = I2(i-1:i+1, j-1:j+1) > J0;
There are a lot more problems with it (I3 gets resized at each step of the loop, the loop is not even needed, no vectorisation of the LBP computation, etc.). As said, find a better implementation.
카테고리
도움말 센터 및 File Exchange에서 LBP - Local Binary Patterns에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!