当前位置: 首页 > news >正文

不是万维网的网站如何查看一家网站是否有备案

不是万维网的网站,如何查看一家网站是否有备案,深圳网站制作的,wordpress+网速车牌定位是车牌识别中第一步#xff0c;也是最重要的一步。 由于中国车牌种类多样#xff0c;颜色不一#xff0c; 再加上车牌经常有污损#xff0c;以及车牌周围干扰因素太多#xff0c;都成为了车牌定位的难点。 这里首先使用最简单算法来描述车牌定位#xff0c;以及他… 车牌定位是车牌识别中第一步也是最重要的一步。 由于中国车牌种类多样颜色不一 再加上车牌经常有污损以及车牌周围干扰因素太多都成为了车牌定位的难点。 这里首先使用最简单算法来描述车牌定位以及他的缺陷和改进。 一、投影法 1、车辆图像信息获取 2、HSV颜色转换 把RGB数据转换成HSV空间图像数据 hsvzation(image,hsv,width,height); 3、HSV颜色过滤 设置蓝色车牌底色阈值范围进行颜色过滤 蓝色车牌 H值范围190 ~ 245 S值范围 0.35 ~ 1 V值范围 0.3 ~ 1 过滤后图像如下 4、噪声处理 过滤后一般要进行去噪处理这里早点不明显如果车牌周围有蓝色物体噪点就非常明显了 这里使用平均去噪一些孤立白点将被去除效果如下 5、边缘检测 去噪后进行边缘检测边缘检测的目的就是为了突出车牌信息的突变因为车牌背景和字体颜色区分开了 这样做的目的也是为了防止周围有和车牌底色相同颜色的物体干扰尤其是车辆颜色因为经过边缘检测后车体颜色没有那么多跳变干扰或者与车牌跳变规律不一样这样就可以滤去车体颜色去除干扰 6、确定车牌位置 通过水平投影和垂直投影确定车牌位置。 这里投影方法有很大缺陷在车牌周围除了车辆还有其他背景信息时尤为明显这在下面的另一种方法中改善 7、截取车牌图像 二、投影法定位缺陷示例 1、读取复杂背景的车牌图像 2、HSV滤波 HSV过滤后可以看到明显的干扰信息车辆后面的栏杆和车辆同样的颜色 3、均值去噪 去噪后虽然大部分噪点都去除了但是栏杆依然清晰 4、边缘检测 边缘检测后的图像车牌区域的形状特征给我们解决投影缺陷的一些启示 5,、 投影后错误的定位 6、车牌提取错误 后半块车身比例也不符合车牌特征 由此看见在复杂背景的车牌识别中全局投影就无法抑制干扰在下面黄色车牌示例中就更加明显 投影法简单但只是在只有整体车辆信息没有复杂背景信息的时候才可以使用。 三、基于候选区域判断方法 这个方法放弃了投影直接遍历整个图像信息检查每个联通域的长度和宽度当符合车牌的宽高比时才选定为候选区域由后面处理流程进行处理来判断是否能够提取正常的字符。 前两个步骤还是同上面一样的。 1、HSV空间转换 2、均值去噪3、水平膨胀 目的尽可能的形成连通域 4、边缘检测 也可以不用边缘检测这里主要考虑到 尽量减少 图像白点 遍历中的运算 5、候选区域筛选 候选区域筛选 这是区别投影方法的主要部分 从上图可以看出有几个候选区域大概有4块 而中间的车牌有明显矩形特征符合一定的长宽比例 其他三块区域不具备这样的特征在筛选的过程中予以舍弃。 筛选的方法采用 深度优先遍历 当遇到连通域时记录他的长度和高度并设定阈值当符合长宽比时才会选中为候选区域否则予以舍弃当然还可以添加别的算法比如检测跳变毕竟符合这一比率的不一定就是车牌区域。 下图中黄框就是筛选后的区域 连通域筛选函数如下 [cpp] view plaincopy int find_connected_region_location(struct BMP_img *img, unsigned char *src, int xthreashold, int ythreashold, float rateLow, float rateHigh)   {       int i,j;       int x1, y1, x2, y2;       int width;       int height;       unsigned char *temp;       //int queue_count;       int head, rear;       struct XY_Queue *queue;       static int direction[4][2]{{1, 0}, {-1, 0}, {0, 1}, {0, -1}};          width  img-width;       height  img-height;          queue  (struct XY_Queue *)malloc(sizeof(struct XY_Queue) * width * height);          temp  (unsigned char *)malloc(width * height * sizeof(unsigned char));          if(temp  NULL)       {           printf(find_connected_region_location mem alloc fail\n);           return -1;       }       memcpy(temp, src, width * height);          head  rear  0;       img-region_num  0;          for(i  0; i  height; i)           for(j  0; j  width; j)       {           if(temp[i * width  j]  255)           {                                      queue[rear].x  j;               queue[rear].y  i;               rear ;               temp[i * width  j]  0;                  img-pre_region[img-region_num].x1  j;               img-pre_region[img-region_num].x2  j;               img-pre_region[img-region_num].y1  i;               img-pre_region[img-region_num].y2  i;                  if(img-region_num  CAN_REGION_NUM)               {                   printf(over the CAN_REGION_NUM\n);                   return -1;               }                  while(head  rear)               {                   x1  queue[head].x;                   y1  queue[head].y;                   head ;                      if(x1  img-pre_region[img-region_num].x1)                       img-pre_region[img-region_num].x1  x1;                   else if(x1  img-pre_region[img-region_num].x2)                       img-pre_region[img-region_num].x2  x1;                   if(y1  img-pre_region[img-region_num].y1)                       img-pre_region[img-region_num].y1  y1;                   else if(y1  img-pre_region[img-region_num].y2)                       img-pre_region[img-region_num].y2  y1;                                             for(i  0; i  4; i)                   {                       x2  x1  direction[i][0];                       y2  y1  direction[i][1];                          if(x2  0  x2  width  y2  0  y2  height  temp[y2 * width  x2])                       {                           temp[y2 * width  x2]  0;                           queue[rear].x  x2;                           queue[rear].y  y2;                           rear ;                       }                                  }               }               if((img-pre_region[img-region_num].x2 - img-pre_region[img-region_num].x1  xthreashold)  (img-pre_region[img-region_num].y2 - img-pre_region[img-region_num].y1  ythreashold))               {                      img-pre_region[img-region_num].width  img-pre_region[img-region_num].x2 - img-pre_region[img-region_num].x1  1;                   img-pre_region[img-region_num].height  img-pre_region[img-region_num].y2 - img-pre_region[img-region_num].y1  1;                   img-pre_region[img-region_num].rate  (float)img-pre_region[img-region_num].width/img-pre_region[img-region_num].height;                   if((img-pre_region[img-region_num].width  img-width / 2)  (img-pre_region[img-region_num].height  img-height / 2))                   if((img-pre_region[img-region_num].rate  rateLow)  (img-pre_region[img-region_num].rate  rateHigh))                   {                       if(img-pre_region[img-region_num].x2  PRE_LOCATION_BIAS  img-width)                               img-pre_region[img-region_num].x2  img-width;                       else                               img-pre_region[img-region_num].x2  PRE_LOCATION_BIAS;                       if(img-pre_region[img-region_num].x1 - PRE_LOCATION_BIAS  0)                               img-pre_region[img-region_num].x1  0;                       else                               img-pre_region[img-region_num].x1 - PRE_LOCATION_BIAS;                       if(img-pre_region[img-region_num].y2  PRE_LOCATION_BIAS  img-height)                               img-pre_region[img-region_num].y2  img-height;                       else                               img-pre_region[img-region_num].y2  PRE_LOCATION_BIAS;                       if(img-pre_region[img-region_num].y1 - PRE_LOCATION_BIAS  0)                               img-pre_region[img-region_num].y1  0;                       else                               img-pre_region[img-region_num].y1 - PRE_LOCATION_BIAS;                          img-pre_region[img-region_num].width  img-pre_region[img-region_num].x2 - img-pre_region[img-region_num].x1  1;                       img-pre_region[img-region_num].height  img-pre_region[img-region_num].y2 - img-pre_region[img-region_num].y1  1;                                      img-region_num;                   }               }           }                             }       free(temp);       temp  NULL;       return 0;   }   6、截取车牌区域图像四、黄色车牌检测 1、车辆图像信息 2、HSV过滤分割 由于车牌颜色 与 车辆颜色一直出现大量噪声信息全局投影已不可能分割出车牌信息了 这里只是 利用候选区域长宽比来进行矩形分割肯定会出现一些符合比例但是不是车牌的区域必须在后面的处理中加以区分或者添加判断跳变规律的函数 3、去噪4、 膨胀 6、边缘检测 7、候选区域 连通域筛选 从图中可以看到黄框 部分即是符合候选区域的地方 8、截取候选区域 此候选区域只是符合长宽比需要另行处理 除去不是车牌的区域 五、小结 车牌定位比较复杂但对于车牌识别来说最为重要我认为它是影响车牌识别最大因素。虽然复杂但是方法多种多样。 这里仅此个人爱好和研究希望各位朋友继续提出批评和建议大家的鼓励给了我坚持下去的勇气。
http://www.zqtcl.cn/news/120663/

相关文章:

  • 安徽中色十二冶金建设有限公司网站cad制图初学入门
  • 开发网站监控工具网上开店怎么找货源
  • 标准网站建设报价单私密浏览器直播
  • wordpress焦点图网站seo分析
  • 域名申请哪个网站好江西有色建设集团有限公司网站
  • 新乡市做网站的公司百度推广开户费用多少
  • 免费建网站哪个平台好php 未定义函数wordpress
  • 个人网站 域名选择郑州那家做网站便宜
  • 网站建设技术合伙人的技术股份全国免费发布信息网站大全
  • 兼职网站平台有哪些新手怎么学做网站
  • 有没有直接做网站的软件iis一个文件夹配置多个网站
  • 网站怎么屏蔽ip访问信息发布网站建设
  • 陕西省住房城乡建设厅网站管理中心电信服务器
  • 外国优秀网站设计程序员做任务的网站
  • 购物网站项目经验开发一个游戏软件需要多少钱
  • 专业的大连网站建设电商网站支付方案
  • 手机如何建设网站首页株洲搜索引擎优化
  • 辉县市建设局网站制作网站站用的软件下载
  • 什么网站广告做多有没有不花钱建设网站的方法
  • 网站开发技术总监面试题五大门户网站分别是
  • 福州自助建设网站网站开发工具蜡笔小新
  • 扬州市住房和城乡建设网站html5 后台网站模板
  • 网站建设与设计意义宜兴做宠物的网站
  • 苏州建设工程人才招聘网信息网站wordpress前端库加速
  • 浙江手机版建站系统信息应用商店下载app
  • 广告投放网站动画设计模板
  • 网站发外链的好处页面跳转 英文
  • 黑链 对网站的影响网页小游戏网站有哪些
  • wordpress 网站卡做百度移动网站排名
  • 金融企业网站整站源码网站需要写哪些内容