zoukankan      html  css  js  c++  java
  • 验证码识别技术研究(2)

     1 /// <summary>
     2         /// 获取主体矩形边界坐标,顺时针
     3         /// </summary>
     4         /// <param name="bmpTg">目标图片</param>
     5         /// <param name="bmpMT">模板图片</param>
     6         /// <returns></returns>
     7         private static Point[] GetTarget(Bitmap bmpTg, Bitmap bmpMT)
     8         {
     9             //主体矩形边界坐标,顺时针
    10             Point[] points ={
    11                 new Point(0,0),
    12                 new Point(0,0),
    13                 new Point(0,0),
    14                 new Point(0,0),
    15                            };
    16 
    17             int tmpRGB = 0;
    18             for (int tgx = 0; tgx < bmpTg.Width - bmpMT.Width; tgx++)
    19             {
    20                 for (int tgy = 0; tgy < bmpTg.Height - bmpMT.Height; tgy++)
    21                 {
    22                     bool faild = false;
    23                     for (int mtx = 0; mtx < bmpMT.Width; mtx++)
    24                     {
    25                         for (int mty = 0; mty < bmpMT.Height; mty++)
    26                         {
    27                             if (bmpMT.GetPixel(mtx, mty).B > 150)
    28                                 continue;
    29                             tmpRGB = bmpTg.GetPixel(tgx + mtx, tgy + mty).B - bmpMT.GetPixel(mtx, mty).B;
    30                             tmpRGB = tmpRGB > 0 ? tmpRGB : tmpRGB * (-1);
    31                             if (tmpRGB > 150)
    32                             {
    33                                 faild = true;
    34                                 continue;
    35                             }
    36                         }
    37                     }
    38                     if (faild)
    39                     {
    40                         continue;
    41                     }
    42                     points[0].X = tgx;
    43                     points[0].Y = tgy;
    44                     points[1].X = tgx + bmpMT.Width;
    45                     points[1].Y = tgy;
    46                     points[2].X = tgx;
    47                     points[2].Y = tgy + bmpMT.Height;
    48                     points[3].X = tgx + bmpMT.Width;
    49                     points[3].Y = tgy + bmpMT.Height;
    50                     return points;
    51                 }
    52             }
    53             return points;
    54         }
  • 相关阅读:
    8月4日
    8月3日 hive配置
    8月2日
    8月1日
    7月31日
    7月30日
    7月29日
    7月28日
    第六周总结
    重大技术需求进度报告一
  • 原文地址:https://www.cnblogs.com/mahatmasmile/p/2948644.html
Copyright © 2011-2022 走看看