From 7d3a1657c90dfe7b66da9f0ea8e364801e8cb324 Mon Sep 17 00:00:00 2001 From: Vlad Karpushin <40189112+VladKarpushin@users.noreply.github.com> Date: Fri, 31 Aug 2018 21:41:22 +0700 Subject: [PATCH] doc: add new tutorial motion deblur filter (#12215) * doc: add new tutorial motion deblur filter * Update motion_deblur_filter.markdown a few minor changes --- .../motion_deblur_filter/images/black_car.jpg | Bin 0 -> 33690 bytes .../images/motion_original.jpg | Bin 0 -> 51996 bytes .../images/motion_psf.png | Bin 0 -> 556 bytes .../motion_deblur_filter/images/white_car.jpg | Bin 0 -> 20184 bytes .../motion_deblur_filter.markdown | 72 +++++++ .../imgproc/table_of_content_imgproc.markdown | 10 + .../motion_deblur_filter.cpp | 184 ++++++++++++++++++ 7 files changed, 266 insertions(+) create mode 100755 doc/tutorials/imgproc/motion_deblur_filter/images/black_car.jpg create mode 100755 doc/tutorials/imgproc/motion_deblur_filter/images/motion_original.jpg create mode 100755 doc/tutorials/imgproc/motion_deblur_filter/images/motion_psf.png create mode 100755 doc/tutorials/imgproc/motion_deblur_filter/images/white_car.jpg create mode 100755 doc/tutorials/imgproc/motion_deblur_filter/motion_deblur_filter.markdown create mode 100755 samples/cpp/tutorial_code/ImgProc/motion_deblur_filter/motion_deblur_filter.cpp diff --git a/doc/tutorials/imgproc/motion_deblur_filter/images/black_car.jpg b/doc/tutorials/imgproc/motion_deblur_filter/images/black_car.jpg new file mode 100755 index 0000000000000000000000000000000000000000..1305057729f6c07b4b04039dbde114733bba7193 GIT binary patch literal 33690 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 Cl8+w% literal 0 HcmV?d00001 diff --git a/doc/tutorials/imgproc/motion_deblur_filter/images/motion_original.jpg b/doc/tutorials/imgproc/motion_deblur_filter/images/motion_original.jpg new file mode 100755 index 0000000000000000000000000000000000000000..6c9b35dd5235b938b98efad93615a05c802aad2a GIT binary patch literal 51996 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≻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 OpenCV 2.0 + + *Author:* Karpushin Vladislav + + You will learn how to recover an image with motion blur distortion using a Wiener filter. diff --git a/samples/cpp/tutorial_code/ImgProc/motion_deblur_filter/motion_deblur_filter.cpp b/samples/cpp/tutorial_code/ImgProc/motion_deblur_filter/motion_deblur_filter.cpp new file mode 100755 index 0000000000..f1ea892c89 --- /dev/null +++ b/samples/cpp/tutorial_code/ImgProc/motion_deblur_filter/motion_deblur_filter.cpp @@ -0,0 +1,184 @@ +/** +* @brief You will learn how to recover an image with motion blur distortion using a Wiener filter +* @author Karpushin Vladislav, karpushin@ngs.ru, https://github.com/VladKarpushin +*/ +#include +#include "opencv2/imgproc.hpp" +#include "opencv2/imgcodecs.hpp" + +using namespace cv; +using namespace std; + +void help(); +void calcPSF(Mat& outputImg, Size filterSize, int len, double theta); +void fftshift(const Mat& inputImg, Mat& outputImg); +void filter2DFreq(const Mat& inputImg, Mat& outputImg, const Mat& H); +void calcWnrFilter(const Mat& input_h_PSF, Mat& output_G, double nsr); +void edgetaper(const Mat& inputImg, Mat& outputImg, double gamma = 5.0, double beta = 0.2); + +const String keys = +"{help h usage ? | | print this message }" +"{image |input.png | input image name }" +"{LEN |125 | length of a motion }" +"{THETA |0 | angle of a motion in degrees }" +"{SNR |700 | signal to noise ratio }" +; + +int main(int argc, char *argv[]) +{ + help(); + CommandLineParser parser(argc, argv, keys); + if (parser.has("help")) + { + parser.printMessage(); + return 0; + } + + int LEN = parser.get("LEN"); + double THETA = parser.get("THETA"); + int snr = parser.get("SNR"); + string strInFileName = parser.get("image"); + + if (!parser.check()) + { + parser.printErrors(); + return 0; + } + + Mat imgIn; + imgIn = imread(strInFileName, IMREAD_GRAYSCALE); + if (imgIn.empty()) //check whether the image is loaded or not + { + cout << "ERROR : Image cannot be loaded..!!" << endl; + return -1; + } + + Mat imgOut; + +//! [main] + // it needs to process even image only + Rect roi = Rect(0, 0, imgIn.cols & -2, imgIn.rows & -2); + + //Hw calculation (start) + Mat Hw, h; + calcPSF(h, roi.size(), LEN, THETA); + calcWnrFilter(h, Hw, 1.0 / double(snr)); + //Hw calculation (stop) + + imgIn.convertTo(imgIn, CV_32F); + edgetaper(imgIn, imgIn); + + // filtering (start) + filter2DFreq(imgIn(roi), imgOut, Hw); + // filtering (stop) +//! [main] + + imgOut.convertTo(imgOut, CV_8U); + normalize(imgOut, imgOut, 0, 255, NORM_MINMAX); + imwrite("result.jpg", imgOut); + return 0; +} + +void help() +{ + cout << "2018-08-14" << endl; + cout << "Motion_deblur_v2" << endl; + cout << "You will learn how to recover an image with motion blur distortion using a Wiener filter" << endl; +} + +//! [calcPSF] +void calcPSF(Mat& outputImg, Size filterSize, int len, double theta) +{ + Mat h(filterSize, CV_32F, Scalar(0)); + Point point(filterSize.width / 2, filterSize.height / 2); + ellipse(h, point, Size(0, cvRound(float(len) / 2.0)), 90.0 - theta, 0, 360, Scalar(255), FILLED); + Scalar summa = sum(h); + outputImg = h / summa[0]; +} +//! [calcPSF] + +//! [fftshift] +void fftshift(const Mat& inputImg, Mat& outputImg) +{ + outputImg = inputImg.clone(); + int cx = outputImg.cols / 2; + int cy = outputImg.rows / 2; + Mat q0(outputImg, Rect(0, 0, cx, cy)); + Mat q1(outputImg, Rect(cx, 0, cx, cy)); + Mat q2(outputImg, Rect(0, cy, cx, cy)); + Mat q3(outputImg, Rect(cx, cy, cx, cy)); + Mat tmp; + q0.copyTo(tmp); + q3.copyTo(q0); + tmp.copyTo(q3); + q1.copyTo(tmp); + q2.copyTo(q1); + tmp.copyTo(q2); +} +//! [fftshift] + +//! [filter2DFreq] +void filter2DFreq(const Mat& inputImg, Mat& outputImg, const Mat& H) +{ + Mat planes[2] = { Mat_(inputImg.clone()), Mat::zeros(inputImg.size(), CV_32F) }; + Mat complexI; + merge(planes, 2, complexI); + dft(complexI, complexI, DFT_SCALE); + + Mat planesH[2] = { Mat_(H.clone()), Mat::zeros(H.size(), CV_32F) }; + Mat complexH; + merge(planesH, 2, complexH); + Mat complexIH; + mulSpectrums(complexI, complexH, complexIH, 0); + + idft(complexIH, complexIH); + split(complexIH, planes); + outputImg = planes[0]; +} +//! [filter2DFreq] + +//! [calcWnrFilter] +void calcWnrFilter(const Mat& input_h_PSF, Mat& output_G, double nsr) +{ + Mat h_PSF_shifted; + fftshift(input_h_PSF, h_PSF_shifted); + Mat planes[2] = { Mat_(h_PSF_shifted.clone()), Mat::zeros(h_PSF_shifted.size(), CV_32F) }; + Mat complexI; + merge(planes, 2, complexI); + dft(complexI, complexI); + split(complexI, planes); + Mat denom; + pow(abs(planes[0]), 2, denom); + denom += nsr; + divide(planes[0], denom, output_G); +} +//! [calcWnrFilter] + +//! [edgetaper] +void edgetaper(const Mat& inputImg, Mat& outputImg, double gamma, double beta) +{ + int Nx = inputImg.cols; + int Ny = inputImg.rows; + Mat w1(1, Nx, CV_32F, Scalar(0)); + Mat w2(Ny, 1, CV_32F, Scalar(0)); + + float* p1 = w1.ptr(0); + float* p2 = w2.ptr(0); + float dx = float(2.0 * CV_PI / Nx); + float x = float(-CV_PI); + for (int i = 0; i < Nx; i++) + { + p1[i] = float(0.5 * (tanh((x + gamma / 2) / beta) - tanh((x - gamma / 2) / beta))); + x += dx; + } + float dy = float(2.0 * CV_PI / Ny); + float y = float(-CV_PI); + for (int i = 0; i < Ny; i++) + { + p2[i] = float(0.5 * (tanh((y + gamma / 2) / beta) - tanh((y - gamma / 2) / beta))); + y += dy; + } + Mat w = w2 * w1; + multiply(inputImg, w, outputImg); +} +//! [edgetaper]