pww区域连接特征提取算法

2023-11-06

主题思想:
任何一个图像 肯定由多个或一个区域
每个区域在横向扫描时 会有分裂和合并 比如圆环 顶部有一个分裂点 底部有一个合并点
没有分裂合并的图形 就是简单的凸图像
很容易通过外形识别
而复杂的图像 就是凹的 就需要分裂合并点来识别
旋转30度 60度 90度 120,150 得到的分裂合并点序列是不同的 可以通过分析分裂合并点可以获得角点

区域连接特征:
重心和中心的偏置对宽高的比例 和方向
分裂合并点位置 和重心位置的比例 除以区域面积
亮度和区域面积的比
重心的偏移方向 与新图片的grvDirect相减=基准数据 基准数据+特征点的方向==新特征点方向
如果图形复杂 需要使用决策树内嵌 svm 最近邻等等算法来综合分析分裂合并特征点
如果简单 基本就区域特征搞定了

图像特征:
合并区域,求图像重心,根据图像重心和中心的角度比例,重新计算各个区域的特征点和方向。
图像比较时按区域大小排列进行各个特征点对比区域的相似度。
区域的分裂与合并的判断也变得很容易了。

应用领域:
视频的背景提取,提取帧差的区域,过滤该区域计算背景。目前实现的效果超好,速度超快。目前现阶段是最好的背景前景提取算法。
物体或个体的数目统计,该算法仅仅遍历一次图像像素点,因此性能好,可以处理超大图片。
角点检测匹配图像。
图像智能分析识别方面,把特征点归一化和旋转处理后的特征进行训练。用决策树或svm等人工智能模型进行预测。包括人脸识别,行人识别,指纹识别。ocr字符识别等等。
网页认证校验码识别 二维码识别等等
区域比较时,特征点按角度排序,识别时加上基准进行排列对比,得到相似度。
比较好的比较方式是:先做区域分析出重心的偏移角度 然后再旋转这个角度后重新做区域分析,得出的特征点进行对比。

训练图片:
1、一般训练图片,重心位置相差不大,如人脸,但是由于各种表情 重心轻微变化。因此,重心是第一特征,变化大的,就记录下来观察原因。
2、全角点检测,采用360度 每隔120度做一次旋转后分析区域的得到的角点进行保留。全部特征去掉重复的,并标记各次旋转的特征点击中率。去掉击中率为1的,仅仅是分裂合并点。

预测图片:
1、区域分析一次,先比较重心位置,然后比较分裂合并特征点满足度。
2、如果重心位置偏差太多,就仅仅比较角点满足度。或者校正重心角度重新区域分析后进行特征点对比。
3、全角度分析过,就直接分析角点满足度,因角点位置是相对重心位置的,因此不必要比较重心了。

区域和图片对比:
区域可能是图片的一部分,这时候重心就变成大问题了。这只能使用flann最近邻搜索。任意选点 求出各点和它的距离排序,循环图片的点和周围点的距离 进行比较 得到到最相似的一段。
图片包含多个区域,另一个大图片搜索这个图片的情况,怎么办?
大图中 先采用最近的区域合并求重心 分别和小图片的区域合并的重心对比 找到区域合并分裂的情况。然后各个区域进行特征点匹配。
不管是怎么比,规则是从最大的区域开始比较。

全角点检测:
1、旋转后 区域重心也旋转了,重心来识别区域id,根据id编号来添加新发现的角点和统计角点击中率。
2、可以根据角点数量来分析区域是否分裂为几个区域。区域面积累加做分析。

demo:
红色是重心 黄色是中心 绿色是从分裂合并点里分析出的角点 蓝色是分裂合并点

视频的设置参数
minConnNum = 5; //水平扫描连接数  如果是水平运动方向 越大越防止抖动 但是精度也降低
minInterval = 3; //垂直方向最小间隔 断连接数
noConnNum = 3; //水平扫描过程 断连接数 
dCorner = 0.666; //角度检测 类似checkCorner*180;度以内的角点 
alpha1 = 0.15; //初始背景加入比例
alpha2 = 0.05; //画面稳定后的背景图加入比例
iNoise = 20; //噪点像素大小 面积=iNoise*iNoise
diffPercent = 0.9; //背景变化百分比到多少 就重新开始背景分析
frameNum = 40; //开始背景分析的帧数 用alpha1中和背景图
brightness = 0;
contrast = 0;
for (int i=0;i<4;i++)
{
iThd[i] = 40; //rgb三像素阈值
iWeight[i] = 1; //权重
}
//rgb适配
bool CpwwRegionConnect::rgbAdapt(uchar*& ptr, int& iValue, int iChannel, const S_BgParam& params)
{
int rayvalue=0;
for( int i=0;i<iChannel;i++){
iValue += *ptr;
rayvalue += ((bool)(*ptr++ > params.iThd[i]))*params.iWeight[i];
}

return rayvalue;
}


原文:http://bbs.csdn.net/topics/390835367

演示程序地址:

http://download.csdn.net/user/pww71

源码:https://sourceforge.net/projects/pwwregionfe/?source=navbar

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pww区域连接特征提取算法 的相关文章

  • surf特征原理

    前言 也许我们使用过Uiautomator编写过自动化测试脚本 也许我们也使用过Monkey来测试过应用的稳定性 但在使用过程中总觉得有或多或小的问题 用Uiautomator写脚本 总觉得有时候控件没法识别 用Monkey来进行稳定性测试
  • 你应该掌握的七种回归技术

    摘要 本文解释了回归分析及其优势 重点总结了应该掌握的线性回归 逻辑回归 多项式回归 逐步回归 岭回归 套索回归 ElasticNet回归等七种最常用的回归技术及其关键要素 最后介绍了选择正确的回归模型的关键因素 编者按 回归分析是建模和分
  • A卡和N卡

    NVIDIA 全称为NVIDIA Corporation NASDAQ NVDA 官方中文名称英伟达 A卡 AMD的卡 N卡 英伟达的卡 DirectXDirectCompute对手是OpenGL opencl 对手是cuda AMD的卡特
  • 理解图像卷积操作的意义

    参考 http blog csdn net chaipp0607 article details 72236892 locationNum 9 fps 1 理解图像卷积操作的意义 标签 图像处理图像卷积 2017 05 16 22 40 4
  • python去除扩展名

    11年it研发经验 从一个会计转行为算法工程师 学过C c java android php go js python CNN神经网络 四千多篇博文 三千多篇原创 只为与你分享 共同成长 一起进步 关注我 给你分享更多干货知识 其实本文意思
  • 总结一下遇到的各种核函数

    原文 http www bubuko com infodetail 991698 html 首先 再对核方法的思想进行描述 核函数的思想是一个伟大的想法 它工作简练巧妙的映射 解决了高维空间中数据量庞大的问题 在机器学习中是对算法进行非线性
  • 突破对银河系的传统认知 大量超高能宇宙加速器被发现

    宇宙无限 信使有痕 5月17日 国家重大科技基础设施 高海拔宇宙线观测站 LHAASO 公布在银河系内发现大量超高能宇宙加速器 并记录到能量达1 4拍电子伏的伽马光子 拍 千万亿 这是人类观测到的最高能量光子 突破了人类对银河系粒子加速的传
  • 时域和空域和频域

    傅立叶变换是f t 乘以正弦项的展开 正弦项的频率由u 其实是miu 的值决定 因为积分后左边剩下的为一变量是频率 所以我们说傅立叶变换域是频率域 数字图像处理 冈萨雷斯 中文第三版P128 当变量t用于说明图像时 我们一般将变量t的域称为
  • 圆检测学习笔记

    目录 边缘检测 再检测圆 霍夫圆检测 转自 深度OpenCV开发之精准找圆 GitHub zikai1 CircleDetection circle detection inscribed triangles image processin
  • 图像矫正与车牌识别资料整理

    图像矫正 http blog csdn net zhtsunday article details 52094745 换了别的图片无法识别了 http download csdn net detail linoi 6812153 车牌识别图
  • cnn图像质量评价

    参考 https blog csdn net moxibingdao article details 107096783 上面左图为原图 中间为经过JPEG2000压缩后的图 右图为高斯模糊后的图 从清晰度来讲 肯定第一幅图质量更高 质量评
  • 3d指向检测 ros_3d_pointing_detection

    Introduction The workflow of this project is Detect 2D human joints from color image by Openpose Compute 3D human joints
  • 遗传算法入门到掌握(一)

    遗传算法入门到掌握 一 心得 把解决方案做染色体 遗传算法的有趣应用很多 诸如寻路问题 8数码问题 囚犯困境 动作控制 找圆心问题 这是一个国外网友的建议 在一个不规则的多边形 中 寻找一个包含在该多边形内的最大圆圈的圆心 TSP问题 在以
  • 从自动贩卖机找零看Python中的动态规划问题

    原文 http www jianshu com p 144db81341a3 从自动贩卖机找零看Python中的动态规划问题 问题描述 假设在某国存在 1 x1 x2 x3 xn 多种货币 该国的自动贩卖机在找零时要遵循一个原则 找零的总张
  • mediapipe face_mesh测试

    目录 onnx测试 tensorflow预测tflite代码 onnx测试 img path r D data val result 1212 test 1 2 02370 1 jpg img path r D data face 1212
  • 深度学习 图像融合使用笔记 2023 harmonized

    目录 cvpr2023 INR Harmonization即将开源 CDTnet没开源 DCCF 图像滤镜 变色 pil灰度图转opencv
  • Python机器学习(三)--决策树算法

    Python机器学习 三 决策树算法 原创 2014年07月14日 13 57 55
  • opencv光流Optical Flow

    光流Optical Flow 现在四轴飞行器越来越火 如何在室内进行定位呢 不同于传统四轴的姿态控制 电机驱动 室外定位 都有了一套完整的方案 室内定位还是没有完全成熟 目前大四轴可以利用的GPS定高 小四轴比较成熟的也就是光流方案了 先看
  • 视频稳像(Video Stabilization)

    原文 https blog csdn net hjl240 article details 52683738 开源 关键词 Video Stabilization 不错 https github com yaochih awesome vi
  • 黑白图片上色算法

    效果图 Marked B W image Result Marked B W image Result Marked B W image Result Marked B W i

随机推荐

  • JavaWeb第三讲 JSP内置对象、基本动作指令、常见编译指令及四大作用域

    JSP内置对象 基本动作指令 常见编译指令及四大作用域 一 JSP工作原理 当一个jsp页面第一次被访问的时候 jsp将执行以下三个步骤 之后的访问速度会因为class文件已经生成而大大提高 当jsp引擎发送一个客户端请求的时候 首先判断请
  • Jupyter Notebook 开始文件地址 读取文件地址

    项目场景 新手使用Jupyter Notebook需要配置文件地址 问题描述 如果不配置文件地址容易出现读取model data 不到的情况 出现异常报错 Nameerror NameError Traceback most recent
  • python使用elasticsearch_Elasticsearch介绍及在python中的使用

    Elasticsearch是Java开发的一个搜索服务器 是一个分布式的搜索引擎 它提供了Restful API接口 启动Elasticsearch服务后 我们可以通过发送Restful的http请求对数据进行增删改查等操作 Elastic
  • 【华为OD机试】拔河比赛【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 公司最近准备进行拔河比赛 需要在全部员工中进行挑选 选拔的规则如下 按照身高优先 体重次优先的方式准备比赛阵容 规定参赛的队伍派出10名选手 请实现一个选拔队员的小程
  • Maven项目代码生成器插件(code-generator-maven-plugin)

    简介 code generator maven plugin 是一个基于baomidou mybatis plus generator实现的 在 Maven 项目中生成代码的 Maven 插件 主要包括 code generator MyB
  • 淘宝小程序数据流转

    目录 前言 一 淘宝小程序的数据流转 二 更新方法 1 由父及子 1 官方常见式 2 由子及父 反了老子 1 this page setData 3 全局绑定 总结 前言 最近做了好几个小程序 感觉自己review之前代码太难受了 数据和目
  • java基础之 IO 流(输入/出字符流)

    字符基流 FileReader FileWriter 代码示例 package IOTest import java io FileNotFoundException import java io FileReader import jav
  • Linux查看磁盘空间大小的命令

    1 查看磁盘空间大小的命令 df df命令用于查看磁盘分区上的磁盘空间 包括使用了多少 还剩多少 默认单位是KB 比如以下命令 df hl 执行的结果每列的含义 第一列Filesystem 磁盘分区 第二列Size 磁盘分区的大小 第三列U
  • 关机代码(强制关机)

    关机代码 很简单的一个代码 代码如下 from os import 库 system shutdown s t 10 强制关机 可以恶搞朋友 手动狗头 但是有点废朋友 滑稽
  • uni_app“一课一得”

    什么是uni app uni app是一个使用Vue js开发所有前端应用的框架 开发者编写一套代码 可发布到iOS Android Web 响应式 以及各种小程序 微信 支付宝 百度 头条 飞书 QQ 快手 钉钉 淘宝 快应用等多个平台
  • Unity InputSystem (一)

    什么是InputSystem InputSystem 是 2019 年 Unity 新推出的插件 输入系统包实现了一个系统来使用任何类型的输入设备来控制你的 Unity 内容 它旨在成为 Unity 的经典输入管理器更强大 更灵活 更可配置
  • C++调用类成员函数

    ifndef CLASS H define CLASS H class CanExtTxPDO t private unsigned char i public unsigned char buffer 10 CanExtTxPDO t u
  • 数据结构入门-二叉树篇(一)

    144 二叉树的前序遍历 给你二叉树的根节点 root 返回它节点值的前序遍历 示例 输入 root 1 null 2 3 输出 1 2 3 前序遍历是二叉树遍历的一种 首先访问根节点 然后遍历左子树 最后遍历右子树 可以记作根左右 解题思
  • PyTorch自然语言处理

    特点 展示如何使用基于 Python 的深度学习库 PyTorch 应用这些方法 演示如何使用 PyTorch 构建应用程序 探索计算图和监督学习范式 掌握 PyTorch 优化张量操作库的基础知识 概述传统的 NLP 概念和方法 学习构建
  • python将折线平滑为曲线

    目录 曲线的曲率介绍 平滑方法介绍 1 环境及模块介绍 2 代码示例 3 整体代码 曲线的曲率介绍 曲线的曲率 curvature 就是针对曲线上某个点的切线方向角对弧长的转动率 通过微分来定义 表明曲线偏离直线的程度 数学上表明曲线在某一
  • 编译器预定义总结.

    http sourceforge net p predef wiki Compilers ACC Type Macro Identification ACC Altium MicroBlaze C Type Macro Format Des
  • Faq about multimedia

    VCN Video Compression Networking Glossary This is a collection of often used and misused technical terms regarding video
  • 【基础知识】11、github上传本地代码

    第一步 下载git bash 下载链接 按步骤安装即可 第二步 配置git bash 一 输入ssh keygen t rsa C 24428078 qq com 获取钥匙 邮箱为github注册的邮箱 输入上述命令时注意空格 出现下面界面
  • bootstrap引入

  • pww区域连接特征提取算法

    主题思想 任何一个图像 肯定由多个或一个区域 每个区域在横向扫描时 会有分裂和合并 比如圆环 顶部有一个分裂点 底部有一个合并点 没有分裂合并的图形 就是简单的凸图像 很容易通过外形识别 而复杂的图像 就是凹的 就需要分裂合并点来识别 旋转