void MDA_VISION_MODULE_FRAME::primary_filter (IplImage* src) { // shift the frames back by 1 shift_frame_data (m_frame_data_vector, read_index, N_FRAMES_TO_KEEP); // HSV hack! /*unsigned char *srcptr; int zeros = 0; for (int i = 0; i < src->height; i++) { srcptr = (unsigned char*)src->imageData + i*src->widthStep; for (int j = 0; j < src->width; j++) { if (srcptr[1] < 90) { srcptr[0] = 0; srcptr[1] = 0; srcptr[2] = 0; zeros++; } srcptr += 3; } } if (zeros > 0.999 * 400*300) { printf ("Path: add_frame: not enough pixels\n"); return; }*/ watershed_filter.watershed(src, gray_img, mvWatershedFilter::WATERSHED_STEP_SMALL); window.showImage (src); }
void MDA_VISION_MODULE_GOALPOST::primary_filter (IplImage* src) { // shift the frames back by 1 shift_frame_data (m_frame_data_vector, read_index, N_FRAMES_TO_KEEP); rectangle_params = read_rectangle_settings(MDA_VISION_GOALPOST_SETTINGS); watershed_filter.watershed(src, gray_img, mvWatershedFilter::WATERSHED_STEP_SMALL); window.showImage (src); }