paip.验证码识别---分割.--使用投影直方图

本文介绍了一种通过投影直方图进行验证码字符纵向分割的方法,核心在于C#代码实现,通过对图像进行Y轴投影并分析像素分布来找到字符边界。
摘要由CSDN通过智能技术生成

paip.验证码识别---分割.--使用投影直方图

 

验证码识别的时候,需要纵向分割字符。需要识别字符的边界..此时可以使用投影直方图

1.做y轴的投影    2. 在直方图观察像素的分布

 

 

 

C#代码

Bitmap projectHistogram(Bitmapbmp)

        {

 

            // stats

            if (histo!= null)

                histo= null;

 

            int width=bmp.Width;

            int height=bmp.Height;

 

            histo= new int[width];

 

            for (int y=0; y<height; y++)

                for (int x=0; x<width; x++)

                {

                    Color color=bmp.GetPixel(x, y);

 

                    if (color.R<50&&color.G<50&&color.B<50)

                        //if (color.A > 200)

                        histo[x]++;

                }

 

            // draw

            //int max = getMax(histo);

 

            Bitmap tmp= new Bitmap(width, height);

            using (Graphics g=Graphics.FromImage(tmp))

                for (int i=0; i<width; i++)

                    g.DrawLine(

                        Pens.Black,

                        i,

                        height,

                        i,

                        height-histo[i]);

 

            return tmp;

        }

 

 

 

参考

图像识别练习(字符验证码、车牌号、身份证号)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值