首页 > 题库 > 职业考证 > 软考 > 嵌入式系统设计师 > 案例题

下面是关于C语言的基本概念和编程方面的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
王工在红外热像仪系统设计中负责软件模块,其核心功能在于进行人脸检测,调取温度检测模块获取检测到人的体温,将检测到的人脸信息及体温通过网络发送给平台进行存储,软件采用C语言编写。

【问题1】(3分)
请说明在C语言中下列宏定义的含义。
(1) #define f(a,b) a##b
(2)_ LINE
(3)_ DATE_
【问题2】 (3分)
王工在利用网络发送所检测到的人脸及对应的体温信息时定义了对应的数据结构FaceTemp_ info, 内容依次包括:检测到人脸框的左上角像素坐标(横向坐标Face _x,纵向坐标Face_Y), 人脸框的像素大小(横向宽度Face_ w,纵向高度Face_H),以及人体温度信息Temp。假设人脸框坐标信息、人脸框的像素大小都用unsigned short来表示,人体温度信息用float来表示。请给出FaceTemp_info 数据结构的定义。
【问题3】(9分)
在红外热像仪的图像信息处理中,王工设计了如下人脸检测、温度检测及信息发送程序,当检测到温度大于等于37.3C时,需要报警提示。请补全程序中的(1) ~ (6)。
【程序】

/*
FaceDetection函数用于进行人脸检测,输入input_image 为采集到的红外图像;输出指针
p_face_x, P_ face_y, p_ face_ w, p_face_h依次存放检测到人脸框的左上角像素坐标和人脸
框的像素大小。返回值大于等于0表示检测到人脸
*/
extern int FaceDetection (unsigned char * input_ image, unsigned short
*p_ face_x, unsigned short *P_face_y, unsigned short *p_face_W, unsigned short
*p_face_h);
/*
TempDetection函数用于进行人体温度检测,输入input_ image 为采集到的红外图像,返回值
为检测到的人体温度(单位为°C)
*/
extern float TempDetection (unsigned char * input_ image) ;
/*
SendUDP函数用于将检测到的人脸信息和体温信息发送给后端服务器。输入p_data 是指待发送
的FaceTemp_info 数据, len是指该数据的大小
*/
extern int SendUDP (unsigned char *p_data, unsigned int len) ;
int FaceTempInfo_Send (unsigned char * input_image)
{
    FaceTemp_ info facetemp_ info;
    unsigned short face_x,face_y, face_W, face_h;
    float temp=0x00;
    memset (&facetemp_info, 0x00, sizeof (facetemp_info));
if (FaceDetection (input_image, &face_ X, &face_ y, &face_W, &face_h)<0)
{
    printf ("No detect person\r\n");
    return 0;
}
temp = TempDetection (input_image) ;
if ((1) )
{
    printf ("Temperature Alarm!!!!\r\n");
    return 0;
}
(2);
(3);
(4);
(5);
facetemp_ info.Temp = temp;
if (SendUDP( (6) , sizeof (facetemp_info)) < 0)
{
    printf ("Send Face and Temperature complete!!!!\r\n");
    return -1;
}
return 0;
}

参考答案: 查看答案 查看解析 查看视频解析 下载APP畅快刷题

相关知识点试题

相关试卷