Compactness问题
今天偶然在论坛讨论在halcon下紧密度的问题,现在总结一下
Calculation:
If L is the length of the contour (see contlength) and F the area of the region the shape factor C is defined as:
C = L^2 / (4 F pi))
在halcon中画个圆测出来的紧密度不为1,按道理讲圆的紧密度为1才对,后来了解到,在halcon中画的圆并不是绝对意义上的圆,因为在halcon里面它是以像素为单位的,所以并不是严格意义上的圆。所以应该是略大于1,小于1.5.
经验:对于有孔的圆,一般的紧密度大概在1.5--2.5之前,细小长条则大于2.5(一般,不绝对)
经过测试发现:
在halcon中,当半径为10的情况下,其compactness为1.04,而半径<10,其compactness基本上就略等于1啦。
针对这个算子有个例程(选出圆形的region):
dev_close_window()
read_image (Image, '1.jpg')
get_image_size(Image,Widht,Height)
dev_open_window_fit_image (Image, , , -, -, WindowHandle1)
rgb1_to_gray (Image, GrayImage)
threshold (GrayImage, Region, , )
*union1 (Region, RegionUnion)
connection (Region, ConnectedRegions)
fill_up (ConnectedRegions, RegionFillUp)
*select_obj(RegionFillUp, ObjectSelected,2)
*disp_region(ObjectSelected,WindowHandle1)
*dev_display(ObjectSelected)
select_shape (RegionFillUp, SelectedRegions, 'compactness', 'and', , )


Compactness问题的更多相关文章
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数016,xld,xld轮廓
<zw版·Halcon-delphi系列原创教程> Halcon分类函数016,xld,xld轮廓 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“ ...
- MIT牛人解说数学体系
https://www.douban.com/group/topic/11115261/ 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进. 为什 ...
- <<Differential Geometry of Curves and Surfaces>>笔记
<Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...
- 【zz】MIT牛人解说数学体系
作者:林达华 一.为什么要深入数学的世界 作为计算机的学生,我(原作者)没有任何企图要成为一个数学家.我学习数学的目 的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些. ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- halcon算子
halcon的算子列表 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样 ...
- Region的周长, 面积与紧凑程度
Perimeter 边界长度. 计算方式跟边界的表示方式有关 Area 包含的点的个数 Compactness 两种常用的计算方式 \(\frac {perimeter^2}{area}\). cir ...
- db2 bind on luw
https://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.apdv.embed.doc/doc/c000556 ...
- cvKMeans2函数用法概述
一般情况下,我们通过C++/Matlab/Python等语言进行实现K-means算法,结合近期我刚刚学的C++,先从C++实现谈起,C++里面我们一般采用的是OpenCV库中写好的K-means函数 ...
随机推荐
- Cython: 快速入门
1. Cython是什么? 它是一个用来快速生成Python扩展模块(extention module)的工具,语法是Python和c的混血.在Cython,C里的类型,如int,float,long ...
- dede 首页调用单页->栏目内容
{dede:sql sql='Select content from dede_arctype where id=47'} [field:content/] {/dede:sql}
- javamail模拟邮箱功能--邮件删除-中级实战篇【邮件标记方法】(javamail API电子邮件实例)
前言: JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html 本章可能是讲解javamail的最后一 ...
- Servlet、Struts2、SpringMVC执行流程
Servlet 有以下四个阶段: 1.加载和实例化 Servlet容器负责加载和实例化Servlet. 当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Ser ...
- 【转】Linux设备驱动之Ioctl控制
原文网址:http://www.cnblogs.com/geneil/archive/2011/12/04/2275372.html 大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能 ...
- 分享15款为jQuery Mobile定制的插件
jQuery Mobile 1.0 已经发布了, 做为jQuery的移动设备类库, 并且依靠着jQuery这个及其受欢迎的类库,必将带给大家不一样的使用体验,基于jQuery Mobile的插件开发必 ...
- crontab 每月最后一天
0 8 28-31 * * [ `date -d tomorrow +%e` -eq 1 ] && do-something 我觉得能想到这种方法的,都是经验丰富的人.程序员们,想 ...
- scala: How to write a simple HTTP GET request client in Scala (with a timeout)
Scala CookBook: http://scalacookbook.com/ @throws(classOf[java.io.IOException]) @throws(classOf[java ...
- R工作空间
工作空间,指的是你现有的R语言工作环境,它包括了任何一个用户定义的对象,比如:向量,矩阵,数据结构,列表,方法等.在一个R会话结束的时候,你可以保存现有的工作空间的映像,在下一次R启动的时候,该工作空 ...
- C语言——内存分配
1.在C语言的运行过程中,需要内存来存储数据.C语言使用的内存总体可以分为两类:一类是静态区,一类是动态区.2.静态数据存储区包含:只读数据区.已初始化的读写数据区.未初始化的读写数据区 动态 ...