Halcon10-C语言数据处理
#include "HalconC.h"
void print_parameter(Htuple tuple, char *kind)
{
int i,n;
n = length_tuple(tuple);
if (n > 0)
{
(void)printf(" %s => ",kind);
for (i=0; i<n; i++)
(void)printf("%s ",get_s(tuple,i));
(void)printf("\n");
}
}
void fetch_proc_info()
{
Htuple Name,Query;
Htuple P1,P2,P3,P4;
int i,num;
/* request the names of all HALCON procedures */
create_tuple(&Name,1);
/* empty string matches everything */
set_s(Name,"",0);
/* get all names */
(void)T_get_operator_name(Name,&Query);
/* destroy input */
destroy_tuple(Name);
num = length_tuple(Query);
(void)printf("--------------------------\n");
(void)printf("Number of procedures: %3d\n",num);
(void)printf("--------------------------\n");
for (i=0; i<num; i++)
{
/* current proc-name */
(void)printf("Proc #%d: %s\n",i,get_s(Query,i));
/* Subqueries */
create_tuple(&Name,1);
set_s(Name,get_s(Query,i),0);
(void)T_get_param_names(Name,&P1,&P2,&P3,&P4);
print_parameter(P1,"input image object");
print_parameter(P2,"output image object");
print_parameter(P3,"input control parameter");
print_parameter(P4,"output control parameter");
destroy_tuple(P1);
destroy_tuple(P2);
destroy_tuple(P3);
destroy_tuple(P4);
destroy_tuple(Name);
}
destroy_tuple(Query);
}