Halcon HTuple由按行排序转成按列排序

目录

  • 前言
  • 方法
  • 结果

前言

今天有一个需求,把一个HTuple的列表重新排序,列表保存的是由二维展开成一维的数据,先按行保存,存完一行再存下一行。如今需要变一下,改成先保存一列,存完一列后在保存下一列。
如有一个二维表格如下:

1 2
3 4
5 6
7 8

按行展开:valueRow = [1,2,3,4,5,6,7,8]
按列展开:valueCol = [1,3,5,7,2,4,6,8]

方法

将按行展开的列表变成按列展开就是我的需求,为此我想到了矩阵的转置,并验证了方法可行,下面是我的步骤:

* 定义行数和列数
RowNum := 2
ColNum := 4
valueRow := [1,2,3,4,5,6,7,8]
* 生成矩阵,行列是反的
create_matrix (ColNum, RowNum, valueRow, MatrixID)
* 矩阵转置
transpose_matrix (MatrixID, MatrixTransposedID)
* 重新获得列表
get_full_matrix (MatrixTransposedID, Values)
tuple_int (Values, Values)

结果

Halcon HTuple由按行排序转成按列排序_第1张图片

你可能感兴趣的:(图像处理,halcon)