资源简介

针对光照不均及背景噪声问题进行改进的bernsen算法,有利于对场景图上的文本进行二值化,二值化效果比简单的OTSU或未改进的bernsen算法要好许多。

资源截图

代码片段和文件信息

%改进的bernsen算法
clear all;clc

local=imread(‘t (145).jpg‘);
f=rgb2gray(local);%灰度转化
figure(1);
imshow(f);
flag=1;%表明为白底黑字
[ab]=size(f);
A=a*b;  %计算像素总数
N=3;
M=N;

%计算总体阈值T1
pix=0;
num=zeros(1256);
for i=0:255
    for j=1:a
        for m=1:b
            if f(jm)==i
                num(i+1)=num(i+1)+1;   %i为0到255统计个灰度值的个数
            end
        end
    end
end


if(sum(num(1:125))>0.4*A)%如果不是白底黑字的话,要进行转换
    if(sum(num(1:125))>0.9*A)%排除整体偏暗的情况
        f=f+20;%稍微调亮
    else
        f=255-f;%取反
        flag=0;
    end
end

if(flag==0)
    num=fliplr(num);
end

for i=1:256
    pix=pix+num(i);
    if(pix>=(0.1*A))
        T1=i;
        break
    end
end

%初始化参数矩阵
T2=zeros(ab);
T3=T2;
T4=T3;

for i=M+1:a-M
    for j=N+1:b-N       
        win=f(i-M:i+Mj-N:j+N);
        tmax=max(max(win));
  

评论

共有 条评论