(1) | Input: Grayscale image (I) | (2) | Output: Histogramfinal(LNMOP) | (3) | Initial: n > r, m ⟵ 5 : 10 | (4) | Begin | (5) | sub {c1, c2,…, cn} ⟵ block(I, n) | (6) | //The image I is divided into n subblocks with equal size and no overlap. | (7) | for each block c ∈ sub, do | (8) | histogram {HOG1, HOG2, …, HOGn} ⟵ extract (c, HOG)//extract HOG features | (9) | for r ⟵ 1 : m, do | (10) | histogram {LNMOP|11, LNMOP|21, …, LNMOP|r1, LNMOP|12, LNMOP|22, …, LNMOP|r2, | (11) | …, …, LNMOP|1n, LNMOP|2n, …, LNMOP|rn} ⟵ extract (c, LNMOP) | (12) | //extract LNMOP features | (13) | end | (14) | end | (15) | for each block c ∈ sub, do | (16) | l ⟵ rank(HOG, histogram|HOG) //Determination the rank of HOG features | (17) | histogram {LNMOP|1, LNMOP|2, …, LNMOP|n} ⟵ LNMOP|l | (18) | //Screening LMOP features matching HOG levels | (19) | end | (20) | histogramfinal(LNMOP) ⟵ concatenate (histogram {LNMOP|1, LNMOP|2, …, LNMOP|n}) | (21) | //Concatenation into the final features |
|