一、图像获取与采集

1、本地图片读取

① 单张读取

直接传入图片路径即可,可以用绝对路径,也可以用相对路径:

read_image (Image, 'C:/Users/Administrator/Desktop/1.png')

② 编号连续的图片读取(000、001、002……)

* 分别读取003.jpg、004.jpg、005.jpg、006.jpg

for i := 3 to 6 by 1

  read_image (Image, 'C:/Users/Administrator/Desktop/pic/' + i$'.3' + '.jpg')

endfor

③ 读取文件夹(及子文件夹)下全部图片

list_files ('D:/photo', ['files','follow_links'], ImageFiles)

tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima)$','ignore_case'], ImageFiles)

for Index := 0 to |ImageFiles| - 1 by 1

  read_image (Image, ImageFiles[Index])

* Image Acquisition 01: Do something

endfor

算子list_files中可以有多个参数,例如:

'directories':读取文件夹

'recursive':递归,读取子文件夹里面的文件

'max_depth 3':支持3级文件目录深度的文件检索

'max_files 1000':最大文件数目不超过1000个

……

2、相机采集图像(以笔记本摄像头为例)

执行“助手”——“打开新的Image Acquisition”

如果没连其他的相机,那么点击“自动检测接口”则会检测出“DirectShow”,此时点击“实时”图标就可以用笔记本摄像头实时采集图像了:

然后点“插入代码”就可以看到采集图像的Halcon代码了:

二、常见图像格式介绍 

jpg——(有损压缩)

png——(无损压缩)

bmp——(无损、通常不压缩)

其他还有gif、tiff、ico等格式的图片,但是一般视觉项目中只会用到jpg、png、bmp这三种格式。一般相机采图输出的就是bmp格式的图片,这种图片的主要缺点是文件太大,占磁盘。png图片是无损压缩图片,具有和bmp相同的保真度,png和bmp可以互相无损转换,同一张图,png格式只有bmp格式体积的1/3或者更少,jpg通常体积更小,但是由于有画质损失,一般很少使用。

总之,不同格式的图片在文件大小以及保真度上有明显差异。

bmp格式图片文件大小的计算:

以这张500W黑白相机(2448 * 2048)拍摄的图片为例。黑白相机是8位黑白图像,一个像素占据1 Byte的空间

2048 * 2448 /1024 = 4896 KB,可以看出跟上图中的4898KB是即为接近的,其差异忽略不计,因此一般这么算就行。

如果是彩色相机,一般输出24位图像,图像大小扩大为3倍。

或者记住一句口诀:500万相机输出的黑白图像一般是5MB,1000万相机输出的黑白图像一般是10MB;如果是彩色图像,则大小乘以3。

三、Region介绍

1、简介

Region可以理解为符合某些性质像素的集合,Region的形状可以是任意的,例如圆、椭圆、矩形、或者其他不规则图形,甚至单独的一个点都可以成为一个Region。

2、最常见相关算子

获取Region的面积和中心点坐标:

area_center(Regions : : : Area, Row, Column)

根据特征筛选Region,这些特征可以是面积、宽、高、最小内接圆、圆度、矩形度等参数:

select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )

通常用于在一堆Region中选择面积最大的那个:

select_shape_std(Regions : SelectedRegions : Shape, Percent : )

 3、Region的联合操作

上面四种算子操作分别是:并集、交集、差集、补集

 

4、Region转换操作

shape_trans(Region : RegionTrans : Type : )

5、其他常见region算子(帮助文档检索“region”获得更多相关算子信息)

draw_region

move_region

paint_region

read_region

write_region

region_features

sort_region

zoom_region

……

图像获取与采集及图像格式与Region介绍——第2讲的更多相关文章

  1. 管理openstack多region介绍与实践

    转:http://www.cnblogs.com/zhoumingang/p/5514853.html 概念介绍 所谓openstack多region,就是多套openstack共享一个keyston ...

  2. openstack多region介绍与实践---转

    概念介绍 所谓openstack多region,就是多套openstack共享一个keystone和horizon.每个区域一套openstack环境,可以分布在不同的地理位置,只要网络可达就行.个人 ...

  3. openstack多region介绍与实践

    版权声明:本文为原创文章,转载请注明出处. 概念介绍 所谓openstack多region,就是多套openstack共享一个keystone和horizon.每个区域一套openstack环境,可以 ...

  4. Halcon开发环境和数据结构介绍——第1讲

    1.Halcon是什么?如何初步了解Halcon? 这点我讲得不太好,不如给大家看看三个链接: ① Halcon官方网站:https://www.mvtec.com/products/halcon/ ...

  5. winform采集网站美女图片程序---多线程篇

    设定思路: 采集目标: http://www.8kmm.com,   已知网址列表(List保存),  应用多线程(Thread)读取该列表, 获取url时不能重复(加锁Lock). 允许无序采集! ...

  6. centos创建监控宝采集器及添加插件任务

    官方的说明文档很不详细操作也有点小问题,故把操作记录如下. 操作系统环境: centos 5.8 python 2.4.3 创建采集器等操作这里就不说了,见官方文档:http://blog.jiank ...

  7. Android图像格式类及图像转换方法

    Android图像格式类及图像转换方法介绍 一款软件的开发和图像密切相关,特别是移动应用程序,在视觉效果等方面是至关重要的,因为这直接关系到用户的体验效果.在Android程序开发的过程中,了解存在哪 ...

  8. [PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索

    标题起的太大了,都是骗人的.最近使用PHP实现了简单的网盘搜索程序,并且关联了微信公众平台.用户可以通过公众号输入关键字,公众号会返回相应的网盘下载地址.就是这么一个简单的功能,类似很多的网盘搜索类网 ...

  9. 基于Java使用Snmp4j进行监控与采集(snmptrap、snmpwalk、snmpget)

    之前有在弄监控服务器这块的工作,今天来整体总结下.因为有些服务器(路由器.交换机等都是基于snmp协议的)必须使用snmp协议去监控采集和接收信息,所以必须去了解snmp相关内容,以及如何在基于jav ...

随机推荐

  1. 「SHOI2015」自动刷题机

    /* 有理有据的二分答案 因为在过程中最多减到零 所以n越小显然就能刷更多的题 无解时就是无论如何也无法得到k , 这个特判一下即可 */ #include<cstdio> #includ ...

  2. python学习之----用虚拟环境保存库文件

    如果你同时负责多个Python 项目,或者想要轻松打包某个项目及其关联的库文件,再 或者你担心已安装的库之间可能有冲突,那么你可以安装一个Python 虚拟环境来分而 治之. 当一个Python 库不 ...

  3. django框架预备知识

    内容: 1.web预备知识 2.django介绍 3.web框架的本质及分类 4.django安装与基本设置 1.web预备知识 HTTP协议:https://www.cnblogs.com/wyb6 ...

  4. WebLogic 任意文件上传 远程代码执行漏洞 (CVE-2018-2894)------->>>任意文件上传检测POC

    前言: Oracle官方发布了7月份的关键补丁更新CPU(Critical Patch Update),其中针对可造成远程代码执行的高危漏洞 CVE-2018-2894 进行修复: http://ww ...

  5. sqlalchemy--表关系

    通过表关系查数据能更简洁的查询到需要的内容 user, user1, article, user_article(为中间表user_article关联article和user)四个表 from dat ...

  6. DDD-002

    项目实践:http://www.cnblogs.com/daoqidelv/p/7499662.html#_label0 https://www.cnblogs.com/lonelyxmas/p/79 ...

  7. class(类的使用说明)

    class 的三大特性 封装:内部调用对于外部用户是透明的 继承: 在分类里的属性,方法被自动继承 多态:调用这个功能,可以使多个类同时执行 r1 = Role(r1, 'Alex', 'Police ...

  8. 使用Eclipse对FFmpeg进行调试

    在研究代码的过程中,调试运行是一种非常有效的方法.我们常用的Visual Studio建立的工程可以很方便地对程序进行调试运行.但是对于FFMpeg这样的工程,想要进行单步调试就没这么容易了.如果一定 ...

  9. 在input中右边加上一个图标的css样式

    https://blog.csdn.net/ffggnfgf/article/details/43384527

  10. 跨越数据库操作时注意要加dbo

    跨越数据库操作时注意要加dbo insert into hrdb.dbo.TB_B_PROJECTS  :这样是正确的 insert into hrdb.TB_B_PROJECTS  :这样是错误的