void bilateralSatured(Mat& frame) { Mat tmp; for (int i = 0; i < 2; ++i) { pyrDown(frame, frame, Size(frame.cols / 2, frame.rows / 2)); } saturar(frame, tmp, 55); bilateralFilter(tmp, frame, 3, 3, 3); for (int i = 0; i < 2; ++i) { pyrUp(frame, frame, Size(frame.cols * 2, frame.rows * 2)); } }
void monocromatizar_uno_c ( unsigned char *src, unsigned char *dst, int h, int w, int src_row_size, int dst_row_size ) { for (int y = 0; y < h; y += 1) { for (int x = 0; x < w; x += 1) { int row_start = y * src_row_size; unsigned char b = src[row_start + x * RGB_SIZE + RGB_BLUE_OFFSET]; unsigned char g = src[row_start + x * RGB_SIZE + RGB_GREEN_OFFSET]; unsigned char r = src[row_start + x * RGB_SIZE + RGB_RED_OFFSET]; dst[y * dst_row_size + x] = saturar((r + 2 * g + b) / 4); } } }
void GaussianSatured(Mat& frame) { medianBlur(frame, frame, 3); saturar(frame, frame, 50); GaussianBlur(frame, frame, Size(13, 13), 5, 5); }