Halcon运算符(总结的很全面) | 您所在的位置:网站首页 › 算式中两条竖线什么意思 › Halcon运算符(总结的很全面) |
Halcon语言 输入控制参数可以是表达式,但图形参数、输出参数均应为变量; String类型变量由单引号’括起来;此外还有一些特殊字符; Boolean型变量包括 true ( = 1 )、 false ( = 0 ) ;不为零的整数将被认为true;但绝大多数的Halcon函数接受字符串型的表达:’true’‘false’,而非逻辑型表达; 函数返回常量用于标识错误: Ø H_MSG_TRUE no error 2 Ø H_MSG_FALSE logical false 3 Ø H_MSG_FAIL operator did not succeed 5 可以放在try…catch…endtry块中,也可以用dev_error_var()与 dev_set_check() 来捕获; 控制语句结构:(与一般语言略有不同,它们也有输入输出变量) Ø if ... endif / if ... else ... endif / if ... elseif ... else ... endif Ø for ... endfor Ø while ... endwhile Ø repeat ... until 此外,也有关键字 break、continue、return、exit、stop 用来控制语句的执行; 赋值语句在Halcon中也被当作函数来使用: 标准赋值 Ø assign(Expression, ResultVariable) //编辑形式,永远都是输入在前,输出在后 Ø ResultVariable := Expression //代码形式 元组插入赋值 Ø insert(Tuple, NewValue, Index, Tuple) //编辑形式 Ø Tuple[Index] := NewValue //代码形式 控制变量元组操作 Ø [t,t] concatenation of tuples Ø |t| number of elements Ø t[i] selection of an element Ø t[i:j] selection of a part of a tuple Ø subset(t1,t2) selection from t1 by indices in t2 图形元组操作对应函数 Ø [] gen_empty_obj () Ø |t| count_obj (p, num) Ø [t1,t2] concat_obj (p1, p2, q) Ø t[i] select_obj (p, q, i+1) Ø t[i:j] copy_obj (p, q, i+1, j-i+1) Ø subset(t1,t2) select_obj (p, q, t2+1) 元组的数学运算,如:A * B,令 m = |A|, n = |B|; 若m、n不相等,且都大于1,则错误;否则返回三种情况: Ø m=n=1,返回一个值; Ø m=n>1,返回一个包含m个数的元组,值为两元组各对于值的操作结果; Ø m>1,n=1,返回一个包含m个数的元组,值为第二个数与第一元组各值的操作结果; Halcon 的数学运算 算术运算 Ø a / a division Ø a % a rest of the integer division Ø a * a multiplication Ø v + v addition and concatenation of strings Ø a - a subtraction Ø -a negation 位运算 Ø lsh(i,i) left shift Ø rsh(i,i) right shift Ø i band i bit-wise and Ø i bor i bit-wise or Ø i bxor i bit-wise xor Ø bnot i bit-wise complement 字符串操作 Ø v$s conversion to string //字符串的格式化,有很丰富的参数 Ø v + v concatenation of strings and addition Ø strchr(s,s) search character in string Ø strstr(s,s) search substring Ø strrchr(s,s) search character in string (reverse) Ø strrstr(s,s) search substring (reverse) Ø strlen(s) length of string Ø s{i} selection of one character Ø s{i:i} selection of substring Ø split(s,s) splitting to substrings 比较操作符 Ø t t greater than Ø t = t greater or equal Ø t = t equal Ø t # t not equal 逻辑操作符 Ø not l negation Ø l and l logical ’and’ Ø l or l logical ’or’ Ø l xor l logical ’xor’ 数学函数 Ø sin(a) sine of a Ø cos(a) cosine of a Ø tan(a) tangent of a Ø asin(a) arc sine of a in the interval [-p/2, p/ 2], a Î [-1, 1] Ø acos(a) arc cosine a in the interval [-p/2, p/2], a Î [-1, 1] Ø atan(a) arc tangent a in the interval [-p/2, p/2], a Î [-1, 1] Ø atan2(a,b) arc tangent a/b in the interval [-p, p] Ø sinh(a) hyperbolic sine of a Ø cosh(a) hyperbolic cosine of a Ø tanh(a) hyperbolic tangent of a Ø exp(a) exponential function Ø log(a) natural logarithm, a> 0 Ø log10(a) decade logarithm, a> 0 Ø pow(a1,a2) power Ø ldexp(a1,a2) a1 pow(2,a2) 其他操作(统计、随机数、符号函数等) Ø min(t) minimum value of the tuple Ø max(t) maximum value of the tuple Ø min2(t1,t2) element-wise minimum of two tuples Ø max2(t1,t2) element-wise maximum of two tuples Ø find(t1,t2) indices of all occurrences of t1 within t2 Ø rand(i) create random values from 0..1 (number specified by i) Ø sgn(a) element-wise sign of a tuple Ø sum(t) sum of all elements or string concatenation Ø cumul(t) cumulative histogram of a tuple Ø mean(a) mean value Ø deviation(a) standard deviation Ø sqrt(a) square root of a Ø deg(a) convert radians to degrees Ø rad(a) convert degrees to radians Ø real(a) convert integer to real Ø int(a) convert a real to integer Ø round(a) convert real to integer Ø number(v) convert string to a number Ø is_number(v) test if value is a number Ø abs(a) absolute value of a (integer or real) Ø fabs(a) absolute value of a (always real) Ø ceil(a) smallest integer value not smaller than a Ø floor(a) largest integer value not greater than a Ø fmod(a1,a2) fractional part of a1/a2, with the same sign as a1 Ø sort(t) sorting in increasing order Ø uniq(t) eliminate duplicates of neighboring values(typically used in combination with sort) Ø sort_index(t) return index instead of values Ø median(t) Median value of a tuple (numbers) Ø select_rank(t,v) Select the element (number) with the given rank Ø inverse(t) reverse the order of the values Ø subset(t1,t2) selection from t1 by indices in t2 Ø remove(t1,t2) Remove of values with the given indices Ø environment(s) value of an environment variable Ø ord(a) ASCII number of a character Ø chr(a) convert an ASCII number to a character Ø ords(s) ASCII number of a tuple of strings Ø chrt(i) convert a tuple of integers into a string
|
CopyRight 2018-2019 实验室设备网 版权所有 |