这段代码增加控制台打印结构体类名、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);}
时间: 2024-03-05 10:47:46 浏览: 58
go语言用printf打印 Go 结构体(struct)信息:fmt.Printf(“%+v”, 结构变量名)
这段代码可以通过在循环末尾增加打印语句来打印结构体(ObjectInfo)的成员变量(className, xCoord, yCoord)的值,具体代码如下:
```
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);
std::cout << "className: " << obj.className << ", xCoord: " << obj.xCoord << ", yCoord: " << obj.yCoord << std::endl;
}
```
在这段代码中,使用了标准库中的cout输出流对象,并通过操作符<<将需要打印的变量的值输出到控制台。其中,std::endl是一个操作符,可以在输出之后自动换行。这样,就可以在检测过程中输出结构体(ObjectInfo)的成员变量的值,方便调试和查看。
阅读全文