均匀局部二值模式直方图

时间:2017-05-03 11:44:37

标签: c++ image-processing histogram

我在一个项目工作,我必须为图像实现局部二进制模式直方图。 我想使用统一局部二进制模式。

0,1,2,3,4,6,7,8,12,14,15,16,24,28,30,31,32,48,56,60,62,63,64,96,112,120,124,126,127,128,129,131,135,143,159,191,192,193,195,199,207,223,224,225,227,231,239,240,241,243,247,248,249,251,252,253,254,255

这些是均匀二进制模式的值。有58个这样的模式,但我读到一个统一的局部二进制模式直方图的大小为59.所以我会考虑统一模式(58),但我如何计算59直方图的元素? 请帮忙! 谢谢 ! PS(我对开放的cv函数不感兴趣来解决这个问题,我只是想了解我如何计算这个直方图。)

1 个答案:

答案 0 :(得分:0)

阅读有关本地二进制模式的维基百科条目

https://en.wikipedia.org/wiki/Local_binary_patterns

您必须将输入拆分为单元格,然后为单元格中的每个像素导出一个数字,具体取决于它是大于还是小于其连接的8个邻居。这为您提供了256个可能的值,但我们仅通过考虑最多有两个0-1过渡的像素进行过滤(因此不包括棋盘类型模式)。这就是为什么不是所有的值出现在你的表中,我猜你应该使用最后一个索引来存储所有非“统一”值。