图像区分平坦区域、边缘、角点区域

  • 图像区分平坦区域、边缘、角点区域
像素组织而成的矩阵如下: ,其中Ix和Iy为原图像在x和y方向求得的偏导,然后求矩阵E的行列式K和迹H,后根据K和H的关系就能区分图像的区域模式了。
  • 平坦区域:H=0
  • 边缘区域:H>0&&K=0
  • 角点区域:H>0&&K>0
MATLAB代码
clear all; close all; clc;
img=double(imread( 'lena.jpg' ));
[m n] = size (img);
imshow(img, [] ) 
[Ix Iy] =gradient(img);
Ix2= Ix. ^ 2 ;
Iy2= Iy. ^ 2 ;
Ixy= Ix. *Iy;
k= 1 ;
lambda= zeros (m*n, 2 ); 
for i = 1 :m 
    for j = 1 :n
        st= [Ix2(i,j) Ixy(i,j); Ixy(i,j) Iy2(i,j)] ; %结构张量 
        K=det(st); %求行列式 
        H=trace(st); %求迹 

        %所有的判断都是近似的 
        % if H<50 %认为是平坦区域 
        % if H>50 && abs(K)<0.01*10^(-9) %认为是边缘区域 
        if H> 50 && abs (K)> 0.01 * 10 ^(- 9 ) %认为是角点区域 
            img( i , j )= 255 ;
        end 
        lambda(k,:)= [K H] ;
        k=k+ 1 ; 
    end 
end figure;
plot(lambda(:, 1 ),lambda(:, 2 ), '.' );
ylabel( 'trace' );xlabel( 'det' );
figure; imshow(img, [] )

  • 学位论文《工业CT断层图像重建及三维可视化技术

多窗口局部分形特征的目标分割方法研究


图像信息熵
图像信息熵是一种统计形式,反映了图像中平均信息量的多少。在图像邻域中局部信息熵和强度变化有关。图像局部信息熵越小,说明该区域为平滑区;纹理和边缘越丰富的区域,局部信息熵越大。

其中, 为以某一像素点为中心且以w=m*m 为窗口大小的局部信息熵, 为窗口中的灰度级出现的概率。

若有错误,请指正。










你可能感兴趣的:(图像区分平坦区域、边缘、角点区域)