필터 지우기
필터 지우기

is this the right code ?

조회 수: 5 (최근 30일)
azkya novia
azkya novia 2017년 9월 5일
댓글: azkya novia 2017년 9월 7일
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
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
azkya novia 2017년 9월 5일
i did it, i asked and put my code in the code button. i dont know if the code changed appeare to be unformated

댓글을 달려면 로그인하십시오.

채택된 답변

Image Analyst
Image Analyst 2017년 9월 5일
If it does what you want and expect, then it's the right code for you, though there is no need for I3 to be a 2-D array, and the program is lacking in comments.
As an alternative, I attach my LBP demo program.
  댓글 수: 1
azkya novia
azkya novia 2017년 9월 7일
I just saw this answer. thank you ImageAnalyst :)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Guillaume
Guillaume 2017년 9월 5일
편집: Guillaume 2017년 9월 5일
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.
  댓글 수: 1
azkya novia
azkya novia 2017년 9월 5일
Ok thank you for the answer :)

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by