当前位置:编程学习 > 网站相关 >>

paip.验证码识别---判断图片是否是彩色图片

paip.验证码识别---判断图片是否是彩色图片
 
 
 
 
 
 
----作者Attilax , 1466519819@qq.com---  
 
 
 
 
RGB颜色,就是用红、绿、蓝三个分量组成的颜色,.NET中用Color类来表示,HSL颜色,就是用色调(Hue)、饱和度(Saturation)、
 
 
亮度(Lightness)来描绘一个颜色,
 
 
判断验证码图片不能直接用普通色彩判断的方法,因为它可能只是有彩色小噪点,但总体上仍然是黑白的……
 
 
 
 
经过我的总结:要点如下。
 
 
判断彩色点;我在画图程序中,看到一个彩色点的S阀值是30左右。也就是说超过30就算是彩色点了。但在我上网搜集的RGB转HSL代
 
 
码中,S值 MS比画图程序的大10左右……
 
 
判断彩色图片:分别记录黑白点和菜色点。如果比率大于10%,一般可认为是彩色图片了……当然视不同网站的验证码而定……
 
 
 
 
 
 
 
 
namespace MOLE.yejenma
{
    public class urlorRRV3 : Iurlor
 
 
 
 
 
 
 
 
  private bool iscolorImage(Image img)
        { //public static void colorFejweC29(Bitmap bmp)
        {
            int hbye=0;
            int kala=0;
            Bitmap bmp=(Bitmap)img;
            int N = bmp.Width;  //image's width
            int M = bmp.Height;//image's height
            Color t, m;
            int i, j, red, green, blue;
            for (i = 0; i < N; i++)
                for (j = 0; j < M; j++)
                {
                   www.zzzyk.com
 
                    t = bmp.GetPixel(i, j);
                    HSLColor hslc = new HSLColor(t);
                    if (hslc.Saturation*255 < 40)
                        hbye++;
                    else
                        kala++;
                   
 
 
 
 
 
 
                }
 
 
            ///end for
            float flt=(kala/hbye);
            if (flt > 0.1)
                return true;
            else
                return false;
            // this.Invalidate();
        }
            
        }
 
 
 
 
 
 
 
补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,