Lines Matching refs:cv

34 CVWienerFilter::wiener_filter (const cv::Mat &blurred_image, const cv::Mat &known, cv::Mat &unknown, float noise_power)
38 cv::Mat y_ft;
41 cv::Mat padded = cv::Mat::zeros (image_h, image_w, CV_32FC1);
44 cv::copyMakeBorder (known, padded, 0, pady, 0, padx, cv::BORDER_CONSTANT, cv::Scalar::all(0));
45 cv::Mat padded_ft;
48 cv::Mat temp_unknown;
49 cv::Mat unknown_ft[2];
50 unknown_ft[0] = cv::Mat::zeros (image_h, image_w, CV_32FC1);
51 unknown_ft[1] = cv::Mat::zeros (image_h, image_w, CV_32FC1);
53 cv::Mat denominator;
54 cv::Mat denominator_splitted[] = {cv::Mat::zeros (blurred_image.size (), CV_32FC1), cv::Mat::zeros (blurred_image.size (), CV_32FC1)};
55 cv::mulSpectrums (padded_ft, padded_ft, denominator, 0, true);
56 cv::split (denominator, denominator_splitted);
57 denominator_splitted[0] = denominator_splitted[0] (cv::Rect (0, 0, blurred_image.cols, blurred_image.rows));
58 denominator_splitted[0] += cv::Scalar (noise_power);
60 cv::Mat numerator;
61 cv::Mat numerator_splitted[] = {cv::Mat::zeros (blurred_image.size (), CV_32FC1), cv::Mat::zeros (blurred_image.size (), CV_32FC1)};
62 cv::mulSpectrums (y_ft, padded_ft, numerator, 0, true);
63 cv::split (numerator, numerator_splitted);
64 numerator_splitted[0] = numerator_splitted[0] (cv::Rect (0, 0, blurred_image.cols, blurred_image.rows));
65 numerator_splitted[1] = numerator_splitted[1] (cv::Rect (0, 0, blurred_image.cols, blurred_image.rows));
66 cv::divide (numerator_splitted[0], denominator_splitted[0], unknown_ft[0]);
67 cv::divide (numerator_splitted[1], denominator_splitted[0], unknown_ft[1]);