旋转不变性LBP特征提取matlab代码

qq_41936597 2018-04-01 11:59:39
求旋转不变性LBP特征提取matlab代码
...全文
1514 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qigeyonghuming_1 2019-10-06
  • 打赏
  • 举报
回复
引用 3 楼 wangxiaokunNO1 的回复:
引用 2 楼 qigeyonghuming_1 的回复:
我是初学者,好像matlab自带的extractLBPFeatures函数可以实现,默认是没有选择不变性的,但是设置把upright参数设为false好像就有了,类似这样lbpFeatures = extractLBPFeatures(I,'CellSize',[32 32],'Normalization','L2','Upright',false) ,不过我也不确定我的理解对不对。。。
请问如何用这个函数输出 原始图像的LBP特征图谱呢,类似 https://blog.csdn.net/zouxy09/article/details/7929531这种, 原图M*N, 特征图也是M*N大小?


引用 3 楼 wangxiaokunNO1 的回复:
引用 2 楼 qigeyonghuming_1 的回复:
我是初学者,好像matlab自带的extractLBPFeatures函数可以实现,默认是没有选择不变性的,但是设置把upright参数设为false好像就有了,类似这样lbpFeatures = extractLBPFeatures(I,'CellSize',[32 32],'Normalization','L2','Upright',false) ,不过我也不确定我的理解对不对。。。
请问如何用这个函数输出 原始图像的LBP特征图谱呢,类似 https://blog.csdn.net/zouxy09/article/details/7929531这种, 原图M*N, 特征图也是M*N大小?

我也不太明白怎么弄,当时也想弄这种的,但是好像这个函数输出的是1XN的,直接弄成直方图的统计了,然后我就卡壳了。。。
wangxiaokunNO1 2019-10-04
  • 打赏
  • 举报
回复
引用 2 楼 qigeyonghuming_1 的回复:
我是初学者,好像matlab自带的extractLBPFeatures函数可以实现,默认是没有选择不变性的,但是设置把upright参数设为false好像就有了,类似这样lbpFeatures = extractLBPFeatures(I,'CellSize',[32 32],'Normalization','L2','Upright',false) ,不过我也不确定我的理解对不对。。。
请问如何用这个函数输出 原始图像的LBP特征图谱呢,类似 https://blog.csdn.net/zouxy09/article/details/7929531这种, 原图M*N, 特征图也是M*N大小?
qigeyonghuming_1 2019-07-30
  • 打赏
  • 举报
回复
我是初学者,好像matlab自带的extractLBPFeatures函数可以实现,默认是没有选择不变性的,但是设置把upright参数设为false好像就有了,类似这样lbpFeatures = extractLBPFeatures(I,'CellSize',[32 32],'Normalization','L2','Upright',false) ,不过我也不确定我的理解对不对。。。
weixin_44761351 2019-03-18
  • 打赏
  • 举报
回复
旋转不变性

function lbpI = lbp_rotation(I)
I = imresize(I,[256 256]);
[m,n,h] = size(I);
if h==3
I = rgb2gray(I);
end
lbpI = uint8(zeros([m n]));
for i = 2:m-1
for j = 2:n-1
neighbor = [I(i-1,j-1) I(i-1,j) I(i-1,j+1) I(i,j+1) I(i+1,j+1) I(i+1,j) I(i+1,j-1) I(i,j-1)] > I(i,j);
pixel = 0;
for k = 1:8
pixel = pixel + neighbor(1,k) * bitshift(1,8-k);
end
lbpI(i,j) = uint8(rotationMin(pixel));
end
end

% 计算最小值
function minval = rotationMin(i)
i = uint8(i);
vals = ones([1 8])*256;
for k=1:8
vals(k) = i;
last_bit = mod(i,2);
i = bitshift(i,-1);
i = last_bit * 128 + i;
end
minval = min(vals);

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧