首页
学习
活动
专区
圈层
工具
发布

Python OpenCV4趣味应用系列(八)---基于SimpleBlobDetector识别骰子点数

OpenCV提供了一种方便的方法来检测blob并可以根据不同特征对其进行过滤,它就是SimpleBlobDetector,让我们看一个简单的例子: ?...上图中有6个骰子,我们希望自动识别骰子的点数,步骤: ① 自适应阈值二值化凸显骰子外轮廓 ② 轮廓查找过滤截取每个骰子ROI ③ 使用SimpleBlobDetector检测ROI...= 0.7 # 应用参数 detector = cv2.SimpleBlobDetector_create(params) # 变量轮廓通过外界矩形宽截取每个骰子ROI for cnt in contours...当然这是个简单的实例,点数计数也可以用轮廓删选的方法代替,比如大小,宽高比等,本质上和SimpleBlobDetector是类似的,它还可以设置其他参数进行Blob过滤,比如: ? ? ?...具体可以参考这篇文章:https://www.learnopencv.com/blob-detection-using-opencv-python-c/ 对于骰子识别,传统算法一般需要分割,然后识别,识别还可以用模板匹配的方法

4.6K22

基于SimpleBlobDetector识别骰子点数

OpenCV提供了一种方便的方法来检测blob并可以根据不同特征对其进行过滤,它就是SimpleBlobDetector,让我们看一个简单的例子: 上图中有6个骰子,我们希望自动识别骰子的点数,...步骤: ① 自适应阈值二值化凸显骰子外轮廓 ② 轮廓查找过滤截取每个骰子ROI ③ 使用SimpleBlobDetector检测ROI中的圆,计算点数输出 下面是代码和效果...参数 params = cv2.SimpleBlobDetector_Params() # 通过圆率来过滤>0.7 params.filterByCircularity = True params.minCircularity...= 0.7 # 应用参数 detector = cv2.SimpleBlobDetector_create(params) # 变量轮廓通过外界矩形宽截取每个骰子ROI for cnt in contours...是类似的,它还可以设置其他参数进行Blob过滤,比如: 具体可以参考这篇文章:https://www.learnopencv.com/blob-detection-using-opencv-python-c

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    OpenCV中BLOB特征提取与几何形状分类

    OpenCV中BLOB特征提取与几何形状分类 一:方法 二值图像几何形状提取与分离,是机器视觉中重点之一,在CT图像分析与机器人视觉感知等领域应用广泛,OpenCV中提供了一个对二值图像几何特征描述与分析最有效的工具...- SimpleBlobDetector类,使用它可以实现对二值图像几何形状的分离与分析。...而它之所以强大是因为整合OpenCV中其它一些API的功能,主要是有三个: 自动的图像灰度与二值化,根据输入的步长与阈值,得到半径 实现了轮廓查找功能,可以查找所有轮廓, 然后在此基础上基于几何矩的计算实现各种基于几何特征的过滤...惯性率 惯性率是跟偏心率,圆形的偏心率等于0, 椭圆的偏心率介于0和1之间,直线的偏心率接近于0, 基于几何矩计算惯性率比计算偏心率容易,所以OpenCV选择了惯性率这个特征值,根据惯性率可以计算出来偏心率...后者更加考察对OpenCV相关API函数熟悉程度与图像处理相关知识的掌握程度。

    4.2K121

    OpenCV中BLOB特征提取与几何形状分类

    一、方法 二值图像几何形状提取与分离,是机器视觉中重点之一,在CT图像分析与机器人视觉感知等领域应用广泛,OpenCV中提供了一个对二值图像几何特征描述与分析最有效的工具 - SimpleBlobDetector...而它之所以强大是因为整合OpenCV中其它一些API的功能,主要是有三个: 自动的图像灰度与二值化,根据输入的步长与阈值,得到半径 实现了轮廓查找功能,可以查找所有轮廓, 然后在此基础上基于几何矩的计算实现各种基于几何特征的过滤...惯性率 惯性率是跟偏心率,圆形的偏心率等于0, 椭圆的偏心率介于0和1之间,直线的偏心率接近于0, 基于几何矩计算惯性率比计算偏心率容易,所以OpenCV选择了惯性率这个特征值,根据惯性率可以计算出来偏心率...示例一 :原图 BLOB检测结果 相关的代码如下: // 初始化BLOB参数 SimpleBlobDetector::Params params; params.minDistBetweenBlobs...后者更加考察对OpenCV相关API函数熟悉程度与图像处理相关知识的掌握程度。

    1.7K10

    OpenCV 3.1.0中特征检测与描述算法接口改动

    OpenCV从 2.4.x升级到3.x中有很多代码重构和性能提高,还有API接口的整合,以Feature2D及其扩展模块的特征检测与描述为例,在OpenCV2.4.x中可以通过FeatureDetector...但是到了OpenCV3.1.0中如果你还是这么用,VS预编译就会报告说FeatureDetector::create()方法不存在,原因是OpenCV在最新的3.1.0版本中已经去掉了该方法,对所有特征提取的方法进行了重新梳理并且出现了几种新的特征检测与描述方法...- ORB: detector + descriptor - MSER: detector - FAST: detector - AGAST: detector - GFFT: detector - SimpleBlobDetector...表示该特征可以作为检测器生成KeyPoint数组vector对象 descriptor 表示该特征可以从KeyPoint结果得到描述子Mat对象 detector+descriptor 表示该特征二者皆可 那么问题来了使用OpenCV...由此可以,在OpenCV 3.1.0中各种特征检测与描述方法明显更多,给大家选择的余地更大,其中一些方法都是近几年的新发研究论文实现。

    1.5K80

    webpack性能优化-构建速度

    或许这时候你就应该去考虑下,如何去优化我们的构建速度。 优化方案 1....关于开启多进程,这里要注意下: 项目较大,打包较慢,开启多进程能提高构建速度 项目较小,打包很快,开启多进程会降低速度(进程开销) 如果大家对happypack的使用想更深入些,推荐传送门这篇文章讲的更系统些...所以说在正式环境打包压缩代码速度非常慢(因为压缩JS代码需要先把代码解析成用Object抽象表示的AST语法树,再去应用各种规则分析和处理AST,导致这个过程耗时非常大)。...最后 除了在打包上做优化之外,在平常写代码中,我们也同样应该注意,考虑性能问题,考虑包的体积。避免因为使用某个库的及少的api而去引入一个很大的库。学会使用按需引入,使用懒加载等。

    71120

    OpenCV高性能计算基础介绍

    前言 本文分享一篇关于opencv高性能计算基础的文章,这是一个作者对工作期间使用OpenCV和CUDA开发高性能算法库的过程所涉及到的知识要点和踩坑的记录,将会涉及OpenCV, CUDA和C++的一些知识...这些领域都对性能有着严苛的要求。...OpenCV的CUDA模块已经开发了近10年,功能相当丰富,用户能够方便地用其改写现有项目,也能将其数据结构集成到自定义的CUDA Kernel中,实现极致的性能优化。...如何利用OpenCV CUDA模块进行快速的自定义高性能图像算法开发将是本专栏的重点内容。 内存优化 内存的管理是几乎每个C++项目都要谨慎考虑的问题。...不幸的是,这些数据通常都较大,如果经常进行深拷贝会对程序性能造成严重影响。在CUDA上,内存分配甚至可能远比Kernel耗时。

    2.1K20

    Android性能优化之启动速度优化

    Android性能优化之启动速度优化   Android app 启动速度优化,首先谈谈为什么会走到优化这一步,如果一开始创建 app 项目的时候就把这个启动速度考虑进去,那么肯定就不需要重新再来优化一遍了...,那么做功能的时候就会有束缚,快不起来 app 初期大家都忙着开发新功能,迭代新版本,没有时间停下来做优化 同类型 app 变多,竞争对手变多,大家才开始关注启动性能,才开始做启动速度优化(有主动出击也有被动优化...本文从作者的亲身经历给大家阐述启动速度优化相关的点点滴滴,为启动速度优化提供一种思路给大家参考。 二、为什么要做启动速度优化   App启动卡慢会影响一个App的卸载率和使用率。...所以对于有大量用户的App来说,这些性能细节是很重要的,毕竟用户就是钱啊。 三、分析制定优化技术路线 3.1 分析启动性能瓶颈   在具体的优化之前,首先我们得找到需要优化的地方,怎么找?...七、总结   优化是一条持续之路,通过优化我们可以了解到影响启动性能的因素有哪些,这样我们平时在编码的过程中就会多注意自己的代码性能。

    2K100

    TF卡速度测评-实测TF卡品牌速度综合性能排名

    AS SSD Benchmark 测试即使用专业工具对 SD 卡进行性能测试,以此来评估 SD 卡的读写速度、访问时间等关键性能指标,帮助用户了解其性能优劣,判断是否满足实际使用需求。...等级越高,性能越好,UHS-II 卡的读写速度远超 Class 4 卡。不同容量的 SD 卡性能也有不同,大容量卡通常采用更先进的存储技术,读写速度可能更快。...USB 3.0 及以上标准带宽高,能充分发挥 SD 卡性能;而 USB 2.0 带宽低,会限制 SD 卡速度。读卡器芯片质量也很关键,优质芯片处理数据速度快、稳定性好,能准确测试 SD 卡性能。...3.测试环境:计算机性能(如 CPU、内存性能)影响测试结果。CPU 性能低或内存不足,会在测试时占用系统资源,导致 SD 卡测试速度下降。...性能相对较弱;铠侠 16GB 除顺序读取速度尚可。

    94210

    TF卡速度测评-实测TF卡品牌速度综合性能排名

    AS SSD Benchmark 测试即使用专业工具对 SD 卡进行性能测试,以此来评估 SD 卡的读写速度、访问时间等关键性能指标,帮助用户了解其性能优劣,判断是否满足实际使用需求。...等级越高,性能越好,UHS-II 卡的读写速度远超 Class 4 卡。不同容量的 SD 卡性能也有不同,大容量卡通常采用更先进的存储技术,读写速度可能更快。...USB 3.0 及以上标准带宽高,能充分发挥 SD 卡性能;而 USB 2.0 带宽低,会限制 SD 卡速度。读卡器芯片质量也很关键,优质芯片处理数据速度快、稳定性好,能准确测试 SD 卡性能。...3.测试环境:计算机性能(如 CPU、内存性能)影响测试结果。CPU 性能低或内存不足,会在测试时占用系统资源,导致 SD 卡测试速度下降。...性能相对较弱;铠侠 16GB 除顺序读取速度尚可。

    34810
    领券