#include "ImageDrawElement.h"
|
#include <basic/util/opencv/CvUtil.h>
|
|
ImageDrawElement::ImageDrawElement() {
|
|
}
|
|
void ImageDrawElement::darwProperty(cv::Mat &image, string key, string value, int x, int y) {
|
cv::putText(image, key + ": " + value, cv::Point(x, y), cv::HersheyFonts::FONT_HERSHEY_PLAIN, 4,
|
cv::Scalar(200, 120, 200), 3);
|
}
|
|
void ImageDrawElement::processImage(cv::Mat &image) {
|
// auto faceData = faces.getData();
|
auto yoloObjectsData = yoloObjects.getData();
|
|
// for (auto face: faceData) {
|
// auto rect = CvUtil::zoomRect(face.rect, 1.2, 1.2);
|
// cv::rectangle(image, rect, face.id >= 0 ? cv::Scalar(0, 255, 0) : cv::Scalar(0, 255, 255), 2);
|
// int i = 0;
|
// for (auto &property:face.properties) {
|
// darwProperty(image, property.first, property.second, rect.x + rect.width, rect.y + 40 * i++);
|
// }
|
// }
|
|
// DBG("yoloObjectsData size is " << yoloObjectsData.size());
|
for (auto yoloObj: yoloObjectsData) {
|
auto rect = CvUtil::zoomRect(yoloObj.rect, 1, 1);
|
cv::rectangle(image, rect, yoloObj.id >= 0 ? cv::Scalar(255, 0, 0) : cv::Scalar(0, 255, 255), 2);
|
int i = 0;
|
for (auto &property:yoloObj.properties) {
|
darwProperty(image, property.first, property.second, rect.x + rect.width, rect.y + 40 * i++);
|
}
|
}
|
}
|
|
//void ImageDrawElement::setFaces(std::vector<ScoredRect> value) {
|
// faces = value;
|
//}
|
|
void ImageDrawElement::setYoloObjects(std::vector<ScoredRect> value) {
|
yoloObjects = value;
|
}
|