zoukankan      html  css  js  c++  java
  • 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++)
                    {


                        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();
            }
                
            }












    参考:
    C# RGB颜色与HSL颜色的转换与HSL颜色的应用
  • 相关阅读:
    VC++ 之 文件操作
    Delphi7 API(5) 消息篇:WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVE
    VC++ 之 输入/输出类库(二)
    VB 访问控制面板
    Delphi7 API(4) 消息_重绘
    Lisp简明教程
    一次快速排序错误引发的思考(2)
    一次快速排序错误引发的思考(1)
    Common Lisp编译程序的小技巧
    暴风影音5免去广告的小技巧
  • 原文地址:https://www.cnblogs.com/attilax/p/15199727.html
Copyright © 2011-2022 走看看