⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab image segment.txt

📁 matlab实现商标文字分割~第一部分计算列梯度差
💻 TXT
字号:
I=imread('brand02.jpg');   
  HS_I=double(I);   
  tic   
  G=gradient(HS_I);   %   计算梯度值   
  [y,x]=size(I);   
  T=60;   
  %%%%%%%   商标文字分割   %%%%%%%%%%   
  n=30;   
  GY=zeros(y,1);     
  for   j=1:y     
  for   i=1:x-n   
  Max=max(G(j,i:i+n));   
  Min=min(G(j,i:i+n));   
  MGD(j,i)=Max-Min;   %   计算最大梯度差   
  if   (MGD(j,i)>T)     
  GY(j,1)=GY(j,1)+1;   %   MGD大于阈值的次数统计   
  end     
  end   
  end     
  [temp   MaxY]=max(GY);   
  PY1=MaxY;   
  while   ((GY(PY1,1)>=n)&&(PY1>1))   %   次数阈值检测   
  PY1=PY1-1;   
  end     
  PY2=MaxY;   
  while   ((GY(PY2,1)>=n)&&(PY2<y))   
  PY2=PY2+1;   
  end   
  %%%%%%%%%%   X   方向的分割   %%%%%%%%%%%   
  n=15;   
  GX=zeros(1,x);   
  for   i=1:x   
  for   j=1:y-n   
  Max=max(G(j:j+n,i));   
  Min=min(G(j:j+n,i));   
  MGD(j,i)=Max-Min;   
  if   (MGD(j,i)>T)   
  GX(1,i)=GX(1,i)+1;   
  end   
  end   
  end   
  PX1=1;   
  while   (((GX(1,PX1)<=n)||(GX(1,PX1+1)<=n))&&(PX1<x))   %   列方向保证同时相邻的两列满足次数要求   
  PX1=PX1+1;   
  end     
  PX2=x;   
  while   (((GX(1,PX2)<=n)||(GX(1,PX2-1)<=n))&&(PX2>PX1))   
  PX2=PX2-1;   
  end     
    
  HS_I=uint8(HS_I);   
  IY=HS_I(PY1:PY2,PX1:PX2);   
  t=toc   
  %%%%%%%%%%%%%%%%%%%%%%%%%%   
  figure,imshow(HS_I);   
  figure,plot(MGD(40,:));grid   
  figure,plot(MGD(140,:));grid   
  figure,imshow(IY);   
  --------------------------------------   
 




第一部分计算列梯度差,计算每个像素的列方向一定范围内(n)最大值和最小值的差距,统计该差值超过某一设定域值T的像素的个数,并将该统计个数存在   GY   向量。   向量里头的每个值   GY(y)   代表该行的所有像素里头的最大列梯度差。程序然后找到   GY   的最大值,[temp   MaxY]=max(GY);     以该行为中心,找到相邻的n行。但是由于上下n邻有可能超出图像范围,所以程序用一个循环找出该相邻行得上下限,PY1   and   PY2.   
    
  类似,第二部分计算行梯度差,计算每个像素的行方向一定范围内(n)最大值和最小值的差距,统计该差值超过某一设定域值T的像素的个数,并存在   GX   向量。   向量里头的每个值   GX(x)   代表该列的所有像素里头的最大行梯度差。程序然后用循环找出相邻两列的统计个数同时超过设定值n的列的上下限,PX1   and   PX2.   
    
  最后的输出,HS_I:   原始输入图像,IY:   找到的那块图像区域(PY1行到PY2行,   PX1列到PX2列)。MGD应该是每个像素行方向的梯度差。   
    
  给我感觉这个程序是分割用的。
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -