圣迪工业 圣迪工业 圣迪工业:一家集科研开发、设计生产、制造运营于一体的新兴高科技企业。公司始终坚持”质量第一用户至上”的经营理念本着”同等质量价格最低、同等价格质量最高”的宗旨,竭诚为广大新老用户提供最优良的产品和最优质的服务

设为首页 | 加入收藏
0086 575 88551008

新闻资讯

您的位置:首页 > 新闻资讯 > halcon --Tuple类算子

halcon --Tuple类算子

发布人: 更新时间:2024-07-10

数组运算

  1. y:=[1, 2, 10, 5, 0, 10]
  2. x:=[10, 10, 20, 0, 5, -10]
  3. a:=[10.5, -10.5, 0 ,3]
  4. b:=[3.1415, 0,1.5708, 0.785]
  5. c:=[2, 1, -2, 3, 5, -10]
  6. d:=[3, -10.5, 0, 5]
  7. tuple_abs (a, Abs)
  8. * 计算一个元组的绝对值
  9. * 元组中的元素为整型,则返回绝对值也为整型,为浮点型,则返回浮点型,可以混合
  10. * [10.5, 10.5, 03]
  11. tuple_fabs (a, Fabs)
  12. * 计算一个元组(例如浮点数)的绝对值
  13. * 统一返回浮点型的绝对值
  14. * [10.5, 10.5, 0.0, 3.0]
  15. tuple_add (a, d, Sum)
  16. * 等同于 Sum := a + b
  17. * 两个元组对应元素相加
  18. * 要保证参数1和参数2的元素个数(数组长度相同)才能进行相加,否则会引发异常
  19. * [13.5-21.008]
  20. tuple_sub (a, d, Diff)
  21. * 等同于 Diff:= a - b
  22. * 两个元组对应元素相减
  23. * 要保证参数1和参数2的元素个数(数组长度相同)才能进行相减,否则会引发异常
  24. * [7.5, 0.0, 0 ,-2]
  25. tuple_div (x, c, Quot)
  26. * 等同于 Quot:= x / c
  27. * 两个元组对应元素相除,要确保参数2中不能含有0元素,否则会引发异常
  28. * 需要用tuple_find()查找参数2中是否含有0元素
  29. * 要保证参数1和参数2的元素个数(数组长度相同)才能进行相减,否则会引发异常
  30. * [5, 10, -10, 0, 1, 1]
  31. tuple_mult (b, x, Prod)
  32. * 等同于 Prod:= b * c
  33. * 两个元组对应元素相乘
  34. * 要保证参数1和参数2的元素个数(数组长度相同)才能进行相减,否则会引发异常
  35. * [20.0, 10, -40, 0, 25, 100]
  36. tuple_neg (y, Neg)
  37. * 取反---乘-1
  38. * [-1, -2, -10, -5, 0, -10]
数组位操作

数组比较

  1. a:=[3,2,1]
  2. b:=[4,2,3]
  3. c:=[4,3,3]
  4. tuple_equal (a, b, Equal)
  5. * 两个元组是否相同
  6. * 0--不同 1--相同
  7. tuple_not_equal (b, c, Nequal)
  8. * 两个元组是不是不等
  9. * 0--相同 1--不同
  10. ******** -elem
  11. tuple_equal_elem (a, 2 , Equalem)
  12. * 判断元祖中的每个元素是否等于参数2
  13. * 参数3 : 返回数组[0,1,0]
  14. * 0--不同 1--相同
  15. tuple_not_equal_elem (a, 2, Nequalem)
  16. * 判断元祖中的每个元素是否不等于参数2
  17. * 参数3 : 返回数组[1,0,1]
  18. * 0--相同 1--不同
  19. tuple_greater (b, c, Greater)
  20. * 一个元组是否大于另一个元组
  21. * 按顺序比较
  22. * 0--b<=c 1--b>c
  23. tuple_greater_elem (a, 2, Greaterem)
  24. * 判断元祖中的每个元素是否大于参数2
  25. * 参数2 : 不能传入多元素
  26. * 参数3 : 返回数组[1,0,0]
  27. * 0--a<=2 1--a>2
  28. ****** 加上-equal
  29. tuple_greater_equal
  30. * 1--b>=c
  31. tuple_greater_equal_elem
  32. * 1--a>=2
  33. ******
  34. tuple_less (b, c, Less)
  35. * 一个元组是否小于另一个元组
  36. * 按顺序比较
  37. * 0--b>=c 1--b
  38. tuple_less_elem (a, 2, Lessem)
  39. * 判断元祖中的每个元素是否小于参数2
  40. * 参数2 : 不能传入多元素
  41. * 参数3 : 返回数组[0,0,1]
  42. * 0--a>=2 1--a<2
  43. ****** 加上-equal
  44. tuple_less_equal
  45. * 1--b<=c
  46. tuple_less_equal_elem
  47. * 1--a<=2
  48. ******
数组转换
  1. a:=[65,97,49]
  2. b:=[4.5,-2.9,3.4567]
  3. c:='6814031a'
  4. d:='12345678'
  5. e:=['A', 'a', '1']
  6. f:='liming'
  7. tuple_chr (a, Chr)
  8. * 根据ASCII码将整型元组转换为字符数组
  9. * 参数1:ASCII码
  10. * 参数2: 返回数组
  11. * ['A', 'a', '1']
  12. tuple_chrt (a, Chrt)
  13. * 根据ASCII码将整型元组转换为字符串
  14. * 参数2: 返回单个字
  15. * 'Aa1'
  16. tuple_int (b, Int)
  17. * 一个元组转换为一个整型元组
  18. * 小数部分直接抛弃,不四舍五入
  19. * [4, -2, 3]
  20. tuple_real (a, Real)
  21. * 转换为浮点数
  22. * [65.0, 97.8, 49.0]
  23. tuple_round (b, Round)
  24. * 转换为整型数--四舍五入
  25. * [53, 3]
  26. tuple_is_number (c, IsNumber)
  27. * 检测一个字符串元组是否表示数字,只含有数字的字符串再算数字字符串
  28. * 1--数字字符串 0--非数字字符串
  29. tuple_number (d, Number)
  30. * 将一个字符串元组转换为一个数值
  31. * 如果d不是数字字符串,就返回原字符串
  32. * 12345678
  33. tuple_ord (e, Ord)
  34. * 将长度为1的字符串的元组转换为它们相应的ASCII码元组
  35. * 参数1: 字符串的长度只能为1,否则会引发异常
  36. * [65, 97, 49]
  37. tuple_ords (f, Ords)
  38. * 将一个字符串的元组转换为它们ASCII码的元组
  39. * 拆分成单个
  40. * [108, 105, 109, 105, 110, 103]
  41. tuple_string (f, '-10.3s', String)
  42. * 转换为字符串
  43. * 参数1:输入
  44. * 参数2:格式
  45. * 数值时:
  46. * '10.2f' 总长度10位,小数点2位 f表示浮点数
  47. * '-10.2f' -表示左对齐 否则右对齐
  48. * '.7f' 总长度不限,小数点7
  49. * '+10.3f' +表示前面加上+-号
  50. * 'x' 转化为小写16进制
  51. * 'X' 转化为大写16进制
  52. * '.8d' 转化为十进制,总长度8
  53. * 字符串时:
  54. * '10s' 转换为总长度10位的字符串
  55. * '-10s' -表示左对齐 否则右对齐
  56. * '-10.3s' 总长度10位,截取前3个字符 'lim

数组创建

  1. a:=[1,2,3]
  2. b:=[10,20,30]
  3. tuple_concat (a, b, Concat)
  4. * 两个数组合并,参数1在前,参数2在后
  5. * [1, 2, 3, 10, 20, 30]
  6. tuple_gen_const (5, 0, Newtuple)
  7. * 创建一个特殊长度的元组并初始化它的元素
  8. * 参数1:新元组长度
  9. * 参数2:用于初始化元组元素的常量
  10. * 参数3:新元组
  11. * [0, 0, 0, 0, 0]
  12. tuple_gen_sequence( : : Start, End, Step : Sequence)
  13. * 生成具有等距值序列的元组
  14. * 输入参数:
  15. * Start ———— 起始值
  16. * End ———— 截至值
  17. * Step ———— 步长 ,可以为小数
  18. * 输出参数:
  19. * Sequence———— 输出的数组
  20. tuple_rand (6, Rand)
  21. * 返回01之间的随机数元组
  22. * 参数1:要生成的元组的长度
  23. * 参数2:随机数的元组
  24. * [0.693658, 0.168389, 0.895945, 0.365523, 0.332642, 0.601562]

数组元素顺序

  1. a:=[1,2,3]
  2. b:=[10,20,30]
  3. c:=[500,200,400]
  4. tuple_inverse (b, Inverted)
  5. * 将一个元组反置(反转)
  6. * [30, 20, 10]
  7. tuple_sort (c, Sorted)
  8. * 按升序排序
  9. * [200, 400, 500]
  10. tuple_sort_index (c, Indices)
  11. * 先按升序排序,返回排序后的元素在原元组中的索引(从0开始)
  12. * [1, 2, 0]

数组特征

  1. a:=[1,2,3]
  2. b:=[10.2,20,30.4,80,90,60,50]
  3. c:=[500,200,400]
  4. tuple_deviation (a, Deviation)
  5. * 返回元组元素的标准差
  6. * 1.0
  7. tuple_length (a, Length)
  8. * 返回元组元素数目
  9. * 3
  10. tuple_max (c, Max)
  11. * 返回元组的最大元素
  12. * 500
  13. tuple_min (a, Min)
  14. * 返回元组的最小元素
  15. * 1
  16. tuple_mean (a, Mean)
  17. * 返回元组的平均值
  18. * 2.0
  19. tuple_median (b, Median)
  20. * 返回一个元组元素的中值
  21. * 50
  22. tuple_sum (a, Sum)
  23. * 返回所有元素的和
  24. * 6

数组选择

  1. a:=[3,'tuple',5,6,1,2,3,'tuple',0]
  2. b:=[3,'tuple']
  3. c:=[7,1]
  4. tuple_find (a, b, Indices)
  5. * 返回参数2在参数1中出现的索引
  6. * 如果没有返回-1
  7. * 如果其中一个或两个输入元组都为空,则运算符返回一个空元组,
  8. * 参数2可以有多个元素,但在查找时,也必须满足顺序。当b:=['tuple',3]则返回-1
  9. * 允许混合字符串和数字
  10. * [0, 6]
  11. tuple_first_n (a, 5, Selected)
  12. * 选择前面的元素,直到索引n [包含索引n的元素]
  13. * 参数2:索引n
  14. * 索引从0开始,总共返回索引+1个元素
  15. * 如果参数1为空,则会引发异常
  16. * [3, 'tuple', 5, 6, 1, 2]
  17. tuple_last_n (a, 3, Selected1)
  18. * 选择从索引“n”开始到元组末尾的所有元素 [包含索引n的元素]
  19. * 元组元素的索引从0开始,如果Tuple为空,则会引发异常
  20. * [6, 1, 2, 3, 'tuple', 0]
  21. tuple_remove (a, c, Reduced)
  22. * 移出指定索引的元素
  23. * 参数2:需要移除的索引
  24. * 元组元素的索引从0开始,即第一个元组元素的索引为0
  25. * 将忽略超出范围的索引和重复项
  26. * 如果元组(参数1)为空,则运算符返回一个空元组
  27. * [3, 5, 6, 1, 2, 3, 0]
  28. tuple_select (a, c, Selected2)
  29. * 返回指定索引的元素
  30. * 参数2:需要返回的索引
  31. * 元组元素的索引从0开始
  32. * 如果参数1为空,则会引发异常
  33. * ['tuple', 'tuple']
  34. tuple_select_range (a, 3, 5, Selected3)
  35. * 返回指定索引区域的元素
  36. * 参数2:起始索引 Startindex
  37. * 参数3:终止索引 Endindex
  38. * 参数2和参数3的元素都包含;如果索引相等,则只选择一个元素
  39. * 如果Startindex[]和Endindex[]是空元组,则运算符返回空元组
  40. * Startindex和Endindex 只能含有一个元素,否则会引发异常
  41. * 如果这些参数或元组中只有一个是空元组,则会引发异常
  42. * [6, 1, 2]
  43. d := [4,30,5,6,1,2,3,20,0]
  44. tuple_select_rank (d, 4, Selected4)
  45. * 先升序排序,再返回排序后指定索引的元素
  46. * 参数1:不允许混合字符串
  47. * 参数2:索引
  48. * 参数2只允许单个元素,否则会引发异常
  49. * 4
  50. e:=['abc','liming','mKbc','5842']
  51. tuple_str_bit_select (e, 1, Selected5)
  52. * 返回每个字符串中指定索引的字符
  53. * 参数2:索引
  54. * 参数2只允许单个元素,否则会引发异常
  55. * 要是参数2的索引超过了字符串的索引范围,则返回['', i ,'','']空元素
  56. * ['b', 'i', 'K', '8']
  57. g:=[0,0,1,1,1,2,0,1]
  58. tuple_uniq (g, Uniq)
  59. * 连续且相同元素只取一个
  60. * 允许在输入元组中混合字符串和数字
  61. * [0, 1, 2, 0, 1]