这段代码怎么把类名和X Y坐标放数组里for (size_t j = 0; j < res.size(); j++) { cv::Rect r = get_rect(img, res[j].bbox); cv::rectangle(img, r, cv::Scalar(0x27, 0xC1, 0x36), 2); cv::putText(img, std::to_string(r.x) + "," + std::to_string(r.y), cv::Point(r.x, r.y - 15), cv::FONT_HERSHEY_PLAIN, 1.2, cv::Scalar(0xFF, 0xFF, 0xFF), 2); }
时间: 2024-03-05 20:47:34 浏览: 120
可以定义一个结构体,包含类名、X坐标和Y坐标三个成员变量,将每个检测到的对象的类名和坐标存入一个该结构体的实例中,再将该实例存入一个数组中。
代码示例:
```
struct ObjectInfo {
std::string className;
int xCoord;
int yCoord;
};
std::vector<ObjectInfo> objects;
for (size_t j = 0; j < res.size(); j++) {
cv::Rect r = get_rect(img, res[j].bbox);
cv::rectangle(img, r, cv::Scalar(0x27, 0xC1, 0x36), 2);
cv::putText(img, std::to_string(r.x) + "," + std::to_string(r.y), cv::Point(r.x, r.y - 15), cv::FONT_HERSHEY_PLAIN, 1.2, cv::Scalar(0xFF, 0xFF, 0xFF), 2);
ObjectInfo obj;
obj.className = res[j].class_name;
obj.xCoord = r.x;
obj.yCoord = r.y;
objects.push_back(obj);
}
```
在上述代码中,ObjectInfo为定义的结构体,包含三个成员变量:className、xCoord和yCoord。每次循环将检测到的对象的类名和坐标存入一个ObjectInfo实例中,再将该实例存入objects数组中。最终,objects数组中存放了所有检测到的对象的类名和坐标信息。
阅读全文