首页 > 编程语言 >【Halcon】示例程序学习——append_channel / tile_channels

【Halcon】示例程序学习——append_channel / tile_channels

时间:2024-05-13 14:19:50浏览次数:23  
标签:示例 Image Halcon channels channel 图像 tile append

Name:

1、append_channel——将其他矩阵(通达)附加到图像

2、tile_channels——多张图像平铺成一个大图像

signature:

1、append_channel(MultiChannelImage, Image : ImageExtended : : )

2、tile_channels(Image : TiledImage : NumColumns, TileOrder : )

Description:

1、运算符append_channel将图像Image的矩阵添加到图像MultiChannelImage的矩阵上。结果是一个包含与MultiChannelImage和image的组合一样多的矩阵(通道)的图像。输出图像的定义域是两个输入图像的定义域的交集。MultiChannelImage可能只是一个区域然后被解释为没有通道的图像定义域。没有为多通道图像分配新的存储空间。相反,创建的多通道图像包含对现有输入图像的引用。

2、tile_channels将由多个通道组成的图像平铺成一个大的单通道图像。输入图像image包含相同大小的Num个图像,这些图像存储在各个通道中。输出图像TiledImage包含单个通道图像,其中Num输入通道已平铺到NumColumns列中。特别是,这意味着tile_channels无法平铺彩色图像。为此,可以使用tile_images。参数TileOrder确定在尚未由NumColumns确定的情况下(即,如果NumColumns!=1和NumColumns…=Num)将图像复制到输出中的顺序。如果TileOrder='horizontal',则在水平方向复制图像,即图像的第二个通道将在第一个通道的右侧。如果TileOrder=“垂直”,则在垂直方向复制图像,即图像的第二个通道将位于第一个通道下方。TiledImage的域是通过将Image的域复制到输出图像中的相应位置来获得的。如果Num不是NumColumns的倍数,则输出图像的右下角将具有未定义的灰度值。输出域将反映这一点。

Execution Information:

append_channel

1、支持计算设备上的对象

2、多线程类型:可重入(与非独占运算符并行运行)

3、多线程范围:全局(可以从任意线程调用)

4、未经并行处理

tile_channels

1、多线程类型:可重入(与非独占运算符并行运行)。
2、多线程作用域:全局(可以从任何线程调用)。
3、在元组级别上自动并行化。

Parameter:

append_channel

MultiChannelImage(input_object)  ->  object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)

Image(input_obejct)  -> object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)

ImageExtended(output_object)  -> object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)

 

tile_channels

Image(Input_object)  -> object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

TiledImage(output_object)  -> object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

NumColumns(input_contorl)  -> integer

  Default value: 1

  Suggested values: 1, 2, 3, 4, 5, 6, 7

  Restriction: NumColumns >= 1

TileOrder(input_control)  -> string

  Default value: 'vertical'

  List of values: 'horizaontal', 'vertical' 

Alternatives:

append_channel

compose2, compose3, compose4, compose5

tile_channels

tile_image, tile_image_offset

Example:

read_image (Xing1, 'xing/xing000')
read_image (Xing2, 'xing/xing050')
read_image (Xing3, 'xing/xing100')
read_image (Xing4, 'xing/xing150')
read_image (Xing5, 'xing/xing200')
read_image (Xing6, 'xing/xing250')
read_image (Xing7, 'xing/xing300')
get_image_size (Xing1, Width, Height)
gen_rectangle1 (Image, 0, 0, Height - 1, Width - 1)
append_channel (Image, Xing1, Image)
append_channel (Image, Xing2, Image)
append_channel (Image, Xing3, Image)
append_channel (Image, Xing4, Image)
tile_channels (Image, TiledImage1, 1, 'vertical')
tile_channels (Image, TiledImage2, 2, 'vertical')
tile_channels (Image, TiledImage3, 2, 'horizontal')
tile_channels (Image, TiledImage4, 4, 'horizontal')
append_channel (Image, Xing5, Image)
append_channel (Image, Xing6, Image)
append_channel (Image, Xing7, Image)
tile_channels (Image, TiledImage5, 5, 'horizontal')
tile_channels (Image, TiledImage6, 3, 'vertical')
tile_channels (Image, TiledImage7, 5, 'vertical')

 

标签:示例,Image,Halcon,channels,channel,图像,tile,append
From: https://www.cnblogs.com/vangoghpeng/p/18188959

相关文章

  • 使用Lambda表达式和接口的简单Java 8 Predicate示例
    大量的Java编程涉及到对真或假值的评估,从条件语句到迭代循环。当您使用JDK的StreamsAPI和Lambda函数时,可以使用备受欢迎的JavaPredicate接口来简化布尔条件的评估。也被称为Java8Predicate(源自引入函数式编程的JDK版本),这个简单的接口定义了五个方法,尽管只有JavaPredicate的t......
  • MDT 的 Bootstrap.ini 中设置随机计算机名称,你可以使用预定义的 Task Sequence 变量和
    MDT的Bootstrap.ini中设置随机计算机名称,你可以使用预定义的TaskSequence变量和自定义脚本来实现。以下是一个示例:创建PowerShell脚本:powershellCopyCodefunctionGenerate-RandomComputerName{$prefix="PC"#可以是你希望的计算机名称前缀$rand......
  • linux增加环境变量示例
    首先,通过 vim~/.bashrc 命令进入我这个用户的.bashrc文件内 然后在这个文件末尾添加环境变量,比如下面红框中的内容表示添加了路径/home/nfs_new/wangpeng/VSCode-linux-x64/bin为环境变量,实际上这里是把vscode启动命令添加作为环境变量了。其中, $PATH 表示之前所有的环......
  • RequestBodyAdvice用法详解-参数加解密示例
     在实际项目中,我们常常需要在请求前后进行一些操作,比如:参数解密/返回结果加密,打印请求参数和返回结果的日志等。这些与业务无关的东西,我们不希望写在controller方法中,造成代码重复可读性变差。这里,我们讲讲使用@ControllerAdvice和RequestBodyAdvice、ResponseBodyAdvice来对请......
  • 要获取线程池中任务的返回值,可以使用submit()方法返回的Future对象。你可以通过调用Fu
    importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.ThreadPoolExecutor;importjava.util.concurrent.TimeUnit;publicclassMain{publicstaticvoidmain(String[]args){//设置线程池参数intcorePoolSize=5;//......
  • dubbo 泛型调用示例 (dubbo generic call)
     1.背景泛型调用适用于观察者模式,即有很多广泛的消费者,但生产者又不想依赖消费者的client包,比如常见的API开放平台的回调机制; 2.泛型调用要实现泛型调用,几个核心点:泛型入参如何构建泛型服务service如何构建泛型调用结果如何拿到 2.1泛型入参 泛型入参须是Ha......
  • Java护照识别接口开发示例、文字识别、证件识别
    护照是我们出国旅行时所必要的证件之一,他是我国公民去外国的旅行和工作的时候所代表的一个合法的身份证件。在护照上面也有不少关于我们个人身份的信息,而手动去录入如此多的身份信息这绝对是灾难。不仅证件,有的场景还需要录入很多文字信息。翔云API可识别图片上的身份证、护......
  • NodeJS路径遍历:示例及预防
    让我们来看看什么是路径遍历攻击,以及在Node.js中可以采用哪些方法来阻止这种攻击。构建一个安全而健壮的应用程序需要考虑的因素很多,并非一件容易的事情。要确保覆盖所有潜在的漏洞是一项十分艰巨的任务,这需要大量的经验和指导。在这些漏洞中,有一个和系统目录访问安全相......
  • openGauss 并发写入示例
    并发写入示例本章节以表test为例,分别介绍相同表的INSERT和DELETE并发,相同表的并发INSERT,相同表的并发UPDATE,以及数据导入和查询的并发的执行详情。CREATETABLEtest(idint,namechar(50),addressvarchar(255));相同表的INSERT和DELETE并发相同表的并发INSERT相同......
  • halcon 22.11.1 license 异常处理
    halcon版本: progress(订阅版)和steady(永久版);不同的版本需要不同的license license需要每月一换license下载地址 lovelyyoshino/Halcon_licenses:Halconlicensesactivation(github.com) license安装: 解压后根据progress(订阅版)或steady(永久版)拷贝带......