Halcon10-C語言數(shù)據(jù)處理
#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);
}