当前位置:首页 » 操作系统 » bernsen算法

bernsen算法

发布时间: 2022-05-04 17:52:03

Ⅰ OCR软件提示不是二值图像

二值图像 binary image
是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。二值图像一般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景的图像时,二值图像只能描述其轮廓,不能描述细节。这时候要用更高的灰度级。
图像的二值化是指将灰度图像(灰度有255阶)转化为只包含黑、白两个灰度的二值图像,即0和1两个值。 一般采用阈值法,关键是阈值的选取技术。 目前图像二值化方法主要有以下几种:(1)全局阈值法;(2)局部阈值法;(3)动态阈值法。全局阈值化方法实现简单对于具有明显双峰直方图的图像效果明显,但对于低对比度和光照不均匀的图像效果不佳,抗噪能力差,因而应用范围受到极大限制,如Ostu算法是一种经典的整体阈值方法,它反映了整个图像灰度分布情况,但它单一阈值的特性决定了它的抗噪能力较差。 局部阈值法能处理较为复杂的情况,但往往忽略了图像的边缘特征,容易出现伪影现象。如经典的局部阈值化算法,Bernsen算法,其阈值由考察点邻域的灰度确定,算法中不存在预定阈值,适应性较整体阈值法广,但是当窗口的宽度较小时,很容易出现伪影现象和目标的丢失;而当窗口宽度增大时,算法的速度将受到很大影响。 动态阈值法充分考虑了像元的邻域特征,能够根据图像的不同背景情况自适应地改变阈值,可较精确地提取出二值图像,但它过渡地夸大了像元的邻域灰度的变化,会把不均匀灰度分布的背景分割到目标中去,带来许多不应出现的假目标。 你可以结合边缘检测和区域生长等新的算法方法来设计自己的二值化算法。 清华紫光TH-OCR是一个文本识别软件,当你扫描一张白纸黑字的文件时,你总不会用彩色的吧?扫描成功后在未进行识别前这就是二值图像,你可以保存为BMP等格式的文件,而你打开的BMP文件可能颜色太多,当然不是二值图片而拒绝打开。在用OCR识别文件时,用鼠标器把要识别的部分拉个框框,再点识别按钮,文字就识别成功了,当然还会有些文字会是乱码,这很正常。

Ⅱ 怎么进行人民币冠字码识别

人民币纸币上除了汉字、少数民族文字、汉语拼音及第四套人民币主币上增加的盲文外,还有用以控制各种票券印制数量和防伪作用的冠号和号码。冠,取首之意,冠字也称“字头”,即印在票券号码前的符号,用以表示各种票券和印制数量的批号。

中国人民银行发行的五套人民币纸币,前三套均使用两个或三个不同的罗马数字(Ⅰ、Ⅱ、Ⅲ、Ⅳ等)作冠字,第四套人民币改成两个相同或不同的汉语拼音字母作冠字,而“庆祝中华人民共和国成立50周年”流通纪念钞只用一个汉语拼音字母作冠字。

号码也是表示票券印制数量的编号,是每一冠字批号中的具体编号,一般采用阿拉伯数字排列号码,一票一号,在同一冠字批号中的号码一般不会出现重复。从钞票的号码位数可以看出该组冠字所印票券的多寡,即位数越多,印制数量越大,反之印制数量越少。

(2)bernsen算法扩展阅读:

冠字号码新排列方式

2010年年初,央行调整了人民币纸币的冠字号码排列方式,如市场所见“A0A0000001”方式。随着现金发行量的增加,人民币纸币冠字号码排列方式仍会不断调整变化(如“A00A000001”和“A000A00001”等排列方式。

市面上较为广泛使用的第五套人民币100元纸币的冠字号码为十位,前两位是大写的拼音字母组合,后八位则为阿拉伯数字,其中冠字号码前四位为红色,后六位为黑色。

央行有关人士证实,如今两个拼音字母相互排列的冠号组合已经全部使用完,因此有一部分人民币百元钞冠号部分变更为拼音字母 数字拼音字母的形式,就如市面上已经出现的“A0A0000001”。而且,今后随着现金发行量的增加,冠字号码的排列方式还将进行调整。

Ⅲ Bernsen 直方图算法

不知道你用matlab还是VC,我拿matlab写的:

clc
clear all
close all
M=3;%3*3的邻域窗口
N=3;
I=imread('1.bmp');%读取图片
[m,n,s] = size(I);%读取图片
I_gray=rgb2gray(I);
T=zeros(m,n);
figure(1);imshow(I_gray);
I_gray=double(I_gray);
for i=M+1:m-M
for j=N+1:n-N
max=1;min=255;
for k=i-M:i+M %当前像素周围的3*3区域中的最大值和最小值
for l=j-N:j+N

if I_gray(k,l)>max
max=I_gray(k,l);
end
if I_gray(k,l)<min
min=I_gray(k,l);
end

end
end
T(i,j)=(max+min)/2;%T矩阵用来记录每点像素的阈值
end
end
I_bw=zeros(m,n);
for i=1:m
for j=1:n %%二值化

if I_gray(i,j)>T(i,j)
I_bw(i,j)=255;
else I_bw(i,j)=0;
end

end
end
figure(2);imshow(I_bw);

热点内容
交换机ip地址为什么要配置 发布:2024-10-06 20:31:56 浏览:375
qq浏览器如何取消保存密码 发布:2024-10-06 20:14:48 浏览:649
shell脚本ctrlc 发布:2024-10-06 20:10:37 浏览:888
压缩板好嘛 发布:2024-10-06 20:10:28 浏览:670
java编译基础教程 发布:2024-10-06 20:09:47 浏览:268
我的世界电脑java怎么玩服务器 发布:2024-10-06 19:16:54 浏览:480
存储空间大于存储池中的可用容量 发布:2024-10-06 19:15:28 浏览:33
什么叫估算法 发布:2024-10-06 19:15:20 浏览:87
c语言库编译 发布:2024-10-06 19:09:23 浏览:747
啊里云系统电视如何更换安卓系统 发布:2024-10-06 18:50:09 浏览:577