Halcon 学习笔记--数组操作和文件(4)

摘要:
元素赋值(类似于Matlab)count_ Seconds(T1)Htuple1:=sin(Htuple1)*数组元素修改Htuple1[2]:='ABC'*数组区域修改Htupple1[1:'ee']*数组之间赋值Htuple2:|Htuple2|-1]count_ Second(T2)T3:=T2-T1逐步运行计数_ Seconds(t)运算符用于计算程序的运行时间;

一、数组操作

      对数组可以完成整体赋值,区域赋值,数组之间赋值,某个元素赋值(这个很类似Matlab)

       

count_seconds(T1)
Htuple1 := [1,2,3,4,5,6]
Htuple3 := sin(Htuple1)

*数组元素修改
Htuple1[2] := 'ABC'

*数组区域修改
Htuple1[1:3] := ['ccc','ddd','eee']

*数组之间赋值
Htuple2 := Htuple1[1:|Htuple1|-1]
count_seconds(T2)
T3 := T2-T1 

逐步运行

Halcon 学习笔记--数组操作和文件(4)第1张

Halcon 学习笔记--数组操作和文件(4)第2张

      count_seconds(t)算子是计算 程序运行的时间;

二、文件操作

      文件操作包括读和写,文件格式有:Text,图像,区域等,常用算子解释如下:

      1.open_file( : : FileNameFileType : FileHandle)

         FileType

        'output':创建新的文本,用write

        ‘append':在原有的文本基础上写入该文件

        'input':打开文件,打开一个已经存在的文件,用以read

     2.fwrite_string( : : FileHandleString : )

        写入文件

    3.fnew_line( : : FileHandle : )

       换行

    4.close_file( : : FileHandle : )

      关闭文件

   5.fread_char( : : FileHandle : Char)

     读入字符

   6.fread_line( : : FileHandle : OutLineIsEOF)

     行读取,IsEOF:判断是否到了文本文件的末尾

  7.fread_string( : : FileHandle : OutStringIsEOF)

read_image (Image, 'fabrik')
*区域增长算子
regiongrowing (Image, Regions, 3, 3, 6, 100)
count_obj (Regions, Number)
*创建一个即将要入数值文件
open_file ('E:/欣奕华/项目/Halcon/STUDY/网络课程笔记/1.文件数组/area.dat', 'output', FileHandle)
for I := 1 to Number by 1
    *选择区域
    select_obj (Regions, ObjectSelected, I)
    area_center (ObjectSelected, Area, Row, Column)
    *文件要写入值
    fwrite_string (FileHandle, I + ' ' + 'Row :'+ Row + '  Column :'+ Column + 'Area :'+Area )
    *换行
    fnew_line (FileHandle)
endfor

 regiongrowing (Image, Regions, 3, 3, 6, 100)  区域增长算子

函数作用:

用区域生长实现图像分割

函数原理:

如果相邻像素的灰度值差小于等于Tolerance,则被融为一个区域。因为矩形一般大于1个像素,所以常常在调用regiongrowing前会用大小至少为Row*Column的低通滤波器平滑一下。如果图像包含小噪声并且矩形很小,平滑后这些因素大都会被去除。而区域包含至少MinSize个点才被挑选出来。区域生长是一个非常快的算子,因此适合用于对时间要求严苛的应用中。

参数列表:

Image:输入图像

Regions:输出被分割后的区域

Row:被检测像素的行距离,Row >= 1 && odd(Row) (为奇数的意思)

Column:被检测像素的列距离,Column >= 1 && odd(Column)

Tolerance:被检测像素的灰度差小于等于该值时,被计入同一区域,Tolerance >= 0 && Tolerance < 127

MinSize:输出区域的最小大小,MinSize >= 1

算子时间复杂度:

如果N是输出区域的个数,M是这些区域中点的个数,那复杂度为O(N*log(M)*M)

免责声明:文章转载自《Halcon 学习笔记--数组操作和文件(4)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇iOS开发——OC篇&amp;amp;常用问题解答(一)全面总结:matlab怎么做漂亮的图下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python+selenium2自动化------quit()和close()区别

区别: driver.quit():关闭整个浏览器 driver.close():关闭当前所在的句柄窗口 示例代码: from selenium import webdriver from time import sleep class Demo1(): def __init__(self): self.driver = webd...

Android 开机问题知多少

极力推荐文章:欢迎收藏Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一、 如何抓取开机问题Log 二、开机问题Log 分析流程 三、 kernel Log 搜索关键字fs_mgr 初步分析定位 四、uart lo...

idea配置docker

一、idea安装docker插件 欢迎页->Configure->Plugins插件使用说明 二、docker服务器开放监听端口 根据官网信息,docker默认只接受本地客户端的请求;若需要接受远程访问,可以使用docker.service系统单元文件来配置Docker以接受远程连接,该文件用于使用systemd的Linux发行版,例如RedH...

Yii2的深入学习--行为Behavior

我们先来看下行为在 Yii2 中的使用,如下内容摘自 Yii2中文文档 行为是 [[yiiaseBehavior]] 或其子类的实例。行为,也称为 mixins,可以无须改变类继承关系即可增强一个已有的 [[yiiaseComponent|组件]] 类功能。当行为附加到组件后,它将“注入”它的方法和属性到组件,然后可以像访问组件内定义的方法和属性一样访问它...

MySQL 重连机制

一. coon.ping(reconnect=True) 二. #!/usr/bin/env python # -*-coding:UTF-8-*- import sys, MySQLdb, traceback import time class mysql: def __init__(self, host='...

spark保存读取csv SequenceFile

前言 Spark读取和保存文件格式是非常多的,json,csv,haoop SequenceFile ,hbase等等。本文就是简单的spark读取文件 spark 读写csv 使用opencsv jar包读取,先在maven配置。 读取方式因逐行读取、以单个文件为key读取整个文件,代码实现略有不同 逐行读取 package com.learn.hado...