我有一个结构体typedef struct EyeKeypoints { dlib::point left_eye; dlib::point right_eye; bool left_eye_missing; bool right_eye_missing; } EyeKeypoints,及该结构体的对象shape。如何用opencv把shape里面左眼及右眼坐标用矩形框画在mat上?
时间: 2023-02-12 13:33:24 浏览: 63
可以这样实现:
1. 定义OpenCV的Rect类型的对象分别表示左眼和右眼的矩形框,坐标为shape.left_eye和shape.right_eye。
2. 使用rectangle函数在Mat图像上绘制左眼和右眼的矩形框。
代码示例:
```
cv::Rect leftEyeRect(shape.left_eye.x, shape.left_eye.y, 20, 20);
cv::Rect rightEyeRect(shape.right_eye.x, shape.right_eye.y, 20, 20);
cv::rectangle(mat, leftEyeRect, cv::Scalar(255, 0, 0), 2);
cv::rectangle(mat, rightEyeRect, cv::Scalar(255, 0, 0), 2);
```
相关问题
我有一个结构体typedef struct EyeKeypoints { dlib::point left_eye; dlib::point right_eye; bool left_eye_missing; bool right_eye_missing; } EyeKeypoints,如何用opencv把里面左眼及右眼坐标用矩形框画在mat上?;
您可以这样做:
1. 定义左眼和右眼的矩形框:
```
cv::Rect left_eye_rect, right_eye_rect;
```
2. 设置左眼和右眼的矩形框的左上角和右下角坐标:
```
left_eye_rect = cv::Rect(left_eye.x, left_eye.y, width, height);
right_eye_rect = cv::Rect(right_eye.x, right_eye.y, width, height);
```
3. 在Mat图像上绘制左眼和右眼的矩形框:
```
cv::rectangle(mat, left_eye_rect, cv::Scalar(0, 255, 0), 2);
cv::rectangle(mat, right_eye_rect, cv::Scalar(0, 255, 0), 2);
```
这样,您就可以在Mat图像上绘制左眼和右眼的矩形框了。
#pragma pack(1) typedef struct{ uint8_t button_right :1; uint8_t button_middle :1; uint8_t button_left :1;
这段代码是使用#pragma pack(1)指令定义了一个结构体,并使用typedef关键字给该结构体起了一个别名。结构体中包含了三个成员变量,分别是button_right、button_middle和button_left,它们的类型都是uint8_t,即无符号8位整数。冒号后面的数字1表示这些成员变量占用的位数,即每个成员变量只占用1位。
#pragma pack(1)指令是用来设置结构体的对齐方式,其中的数字1表示按照1字节对齐。结构体的对齐方式会影响结构体成员变量在内存中的存储方式,通过设置对齐方式可以优化内存的利用效率。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)