图像处理(肠癌细胞).基础知识(一):LBP 局部二值法

研究生阶段,确定进入了医学图像处理这一个方向。以前只学过图像的基本知识,像什么灰度图啊,rgb啊,灰度直方图等等。没有深入的学习过这方面的知识。

现在打算先学习一些图像处理中一些经典的算法开始,有些简单的算法自己也可以练练手。其实这些经典的算法无论是opencv,matlab都已经有现成的函数可以用,但是我不认为这个徒劳的过程,对这些函数的实现过程,可以学到很多思想,为将来的学习提供很好的基础。

在写这个博文前,我已经学习了几个学习算法,并用笔记本记入下来。今天突发奇想,想来写csdn的博文,希望能坚持下去。

一.LBP 局部二值法。英文全称:Local Binary Patterns。

基本思想:对cell像素周围的像素对比,编码后求和的值取代cell的值,具体的过程可以看下面的图解释

   




     数学公式:

   变形算法:

将256的个值 归一成59个组合,提高效率

不再以3*3的网格作为一个区域,一更大的矩形,或者圆作为移动窗口

  应用:

       将检测区域分割成子区域,对每个区域内的pixel取LBP,每个区域建立LBP统计直方图。

 代码实现:

      ps:代码实现的语言自己选择,matlab和opencv都很方便。

      这里贴出matlab的代码

close all;clc ;
src = imread('H:/testimage/11.jpg');   %%地址自己改哦
src =rgb2gray(src);
XY=size(src);
x=XY(1);
y=XY(2);
dst = zeros(x,y) ;
cell_arround=[0,0,0,0,0,0,0,0];
%%cell_arround(8) = src(1,3);
for i=2:x-1
    for j=2:y-1
     cell_arround(8)=src(i-1,j-1);
     cell_arround(7)=src(i-1,j);
     cell_arround(6)=src(i-1,j+1);
     cell_arround(5)=src(i,j-1);
     cell_arround(4)=src(i,j+1);
     cell_arround(3)=src(i+1,j-1);
     cell_arround(2)=src(i+1,j);
     cell_arround(1)=src(i+1,j+1);
     cell = src(i,j);
     
      for k=1:8
         if cell_arround(k)<cell
            cell_arround(k)=0;
         end
         if cell_arround(k)>=cell
             cell_arround(k)=1;
         end     
      end 
      cell=cell_arround(8)+2*cell_arround(7)+4*cell_arround(6)...
          +8*cell_arround(5)+16*cell_arround(4)+32*cell_arround(3)...
          +64*cell_arround(2)+128*cell_arround(1);
      dst(i,j)=cell;
    end   
end    
figure(1);imshow(src);
figure(2);imshow(dst,[]);

     

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值