| 2366 | |
| 2367 | template<typename Dtype> |
| 2368 | void DataTransformer<Dtype>::visualize(cv::Mat& img, MetaData meta, AugmentSelection as) { |
| 2369 | //cv::Mat img_vis = cv::Mat::zeros(img.rows*2, img.cols, CV_8UC3); |
| 2370 | //copy image content |
| 2371 | // for (int i = 0; i < img.rows; ++i) { |
| 2372 | // for (int j = 0; j < img.cols; ++j) { |
| 2373 | // cv::Vec3b& rgb = img.at<cv::Vec3b>(i, j); |
| 2374 | // cv::Vec3b& rgb_vis_upper = img_vis.at<cv::Vec3b>(i, j); |
| 2375 | // rgb_vis_upper = rgb; |
| 2376 | // } |
| 2377 | // } |
| 2378 | // for (int i = 0; i < img_aug.rows; ++i) { |
| 2379 | // for (int j = 0; j < img_aug.cols; ++j) { |
| 2380 | // cv::Vec3b& rgb_aug = img_aug.at<cv::Vec3b>(i, j); |
| 2381 | // cv::Vec3b& rgb_vis_lower = img_vis.at<cv::Vec3b>(i + img.rows, j); |
| 2382 | // rgb_vis_lower = rgb_aug; |
| 2383 | // } |
| 2384 | // } |
| 2385 | cv::Mat img_vis = img.clone(); |
| 2386 | static int counter = 0; |
| 2387 | |
| 2388 | rectangle(img_vis, meta.objpos-cv::Point2f(3,3), meta.objpos+cv::Point2f(3,3), CV_RGB(255,255,0), CV_FILLED); |
| 2389 | for(int i=0;i<np;i++){ |
| 2390 | //LOG(INFO) << "drawing part " << i << ": "; |
| 2391 | //LOG(INFO) << meta.joint_self.joints.size(); |
| 2392 | //LOG(INFO) << meta.joint_self.joints[i]; |
| 2393 | //if(meta.joint_self.isVisible[i]) |
| 2394 | if(np == 21){ // hand case |
| 2395 | if(i < 4) |
| 2396 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(0,0,255), -1); |
| 2397 | else if(i < 6 || i == 12 || i == 13) |
| 2398 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,0,0), -1); |
| 2399 | else if(i < 8 || i == 14 || i == 15) |
| 2400 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,255,0), -1); |
| 2401 | else if(i < 10|| i == 16 || i == 17) |
| 2402 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,100,0), -1); |
| 2403 | else if(i < 12|| i == 18 || i == 19) |
| 2404 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,100,100), -1); |
| 2405 | else |
| 2406 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(0,100,100), -1); |
| 2407 | } |
| 2408 | else if(np == 9){ |
| 2409 | if(i==0 || i==1 || i==2 || i==6) |
| 2410 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(0,0,255), -1); |
| 2411 | else if(i==3 || i==4 || i==5 || i==7) |
| 2412 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,0,0), -1); |
| 2413 | else |
| 2414 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,255,0), -1); |
| 2415 | } |
| 2416 | else if(np == 14 || np == 28) {//body case |
| 2417 | if(i < 14){ |
| 2418 | if(i==2 || i==3 || i==4 || i==8 || i==9 || i==10) |
| 2419 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(0,0,255), -1); |
| 2420 | else if(i==5 || i==6 || i==7 || i==11 || i==12 || i==13) |
| 2421 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,0,0), -1); |
| 2422 | else |
| 2423 | circle(img_vis, meta.joint_self.joints[i], 3, CV_RGB(255,255,0), -1); |
| 2424 | } |
| 2425 | else if(i < 16) |
no test coverage detected