| | |
| | | alphabet = 0; |
| | | } |
| | | |
| | | printf("%s: %.0f%%\n", names[class_id], prob*100); |
| | | int offset = class_id*123457 % classes; |
| | | float red = get_color(2,offset,classes); |
| | | float green = get_color(1,offset,classes); |
| | |
| | | if(right > im.w-1) right = im.w-1; |
| | | if(top < 0) top = 0; |
| | | if(bot > im.h-1) bot = im.h-1; |
| | | printf("%s: %.0f%%", names[class_id], prob * 100); |
| | | |
| | | //printf(" - id: %d, x_center: %d, y_center: %d, width: %d, height: %d", |
| | | // class_id, (right + left) / 2, (bot - top) / 2, right - left, bot - top); |
| | | |
| | | printf("\n"); |
| | | draw_box_width(im, left, top, right, bot, width, red, green, blue); |
| | | if (alphabet) { |
| | | image label = get_label(alphabet, names[class_id], (im.h*.03)/10); |
| | |
| | | IplImage* img = cvCreateImage(cvSize(img_size, img_size), 8, 3); |
| | | cvSet(img, CV_RGB(255, 255, 255), 0); |
| | | CvPoint pt1, pt2, pt_text; |
| | | pt1.x = img_offset; pt2.x = img_size, pt_text.x = 10; |
| | | CvFont font; |
| | | cvInitFont(&font, CV_FONT_HERSHEY_COMPLEX_SMALL, 0.7, 0.7, 0, 1, CV_AA); |
| | | char char_buff[100]; |
| | | int i; |
| | | // vertical lines |
| | | pt1.x = img_offset; pt2.x = img_size, pt_text.x = 10; |
| | | for (i = 1; i <= number_of_lines; ++i) { |
| | | pt1.y = pt2.y = (float)i * draw_size / number_of_lines; |
| | | cvLine(img, pt1, pt2, CV_RGB(224, 224, 224), 1, 8, 0); |
| | |
| | | cvLine(img, pt1, pt2, CV_RGB(128, 128, 128), 1, 8, 0); |
| | | } |
| | | } |
| | | // horizontal lines |
| | | pt1.y = draw_size; pt2.y = 0, pt_text.y = draw_size + 15; |
| | | for (i = 0; i <= number_of_lines; ++i) { |
| | | pt1.x = pt2.x = img_offset + (float)i * draw_size / number_of_lines; |
| | |
| | | } |
| | | cvPutText(img, "Iteration number", cvPoint(draw_size / 2, img_size - 10), &font, CV_RGB(0, 0, 0)); |
| | | cvPutText(img, "Press 's' to save: chart.jpg", cvPoint(5, img_size - 10), &font, CV_RGB(0, 0, 0)); |
| | | printf(" If error occurs - run training with flag: -dont_show \n"); |
| | | cvNamedWindow("average loss", CV_WINDOW_NORMAL); |
| | | cvMoveWindow("average loss", 0, 0); |
| | | cvResizeWindow("average loss", img_size, img_size); |