From 33e6c074855c8d84e28fff8e3158a33bf17be800 Mon Sep 17 00:00:00 2001 From: siddharth Date: Mon, 21 Oct 2013 19:54:32 +0530 Subject: [PATCH] Removed build errors and removed test images Removed conflict Error fix 1 Error fix 2 Error fix 3 Error fix 3 Error fix 4 Error fix 5 Error fix 6 Error fix 7 Error fix 8 Error fix 9 Error fix 10 Error fix 11 Error fix 12 Errors fixed Removed opencv_extra folder inside opencv folder --- modules/photo/doc/cloning.rst | 2 +- modules/photo/doc/npr.rst | 15 -- modules/photo/include/opencv2/photo.hpp | 303 ++++++++++++++++---------------- modules/photo/src/contrast_preserve.hpp | 11 +- modules/photo/src/npr.cpp | 31 +--- modules/photo/src/npr.hpp | 30 +--- modules/photo/test/test_npr.cpp | 16 -- samples/cpp/cloning_demo.cpp | 2 +- samples/cpp/npr_demo.cpp | 10 +- 9 files changed, 171 insertions(+), 249 deletions(-) mode change 100644 => 100755 modules/photo/test/test_npr.cpp diff --git a/modules/photo/doc/cloning.rst b/modules/photo/doc/cloning.rst index 3a115e8..48c5b24 100644 --- a/modules/photo/doc/cloning.rst +++ b/modules/photo/doc/cloning.rst @@ -80,7 +80,7 @@ textureFlattening By retaining only the gradients at edge locations, before integrating with the Poisson solver, one washes out the texture of the selected region, giving its contents a flat aspect. Here Canny Edge Detector is used. -.. ocv:function:: void textureFlattening(InputArray src, InputArray mask, OutputArray dst, double low_threshold, double high_threshold, int kernel_size) +.. ocv:function:: void textureFlattening(InputArray src, InputArray mask, OutputArray dst, double low_threshold=30 , double high_threshold=45, int kernel_size=3) :param src: Input 8-bit 3-channel image. diff --git a/modules/photo/doc/npr.rst b/modules/photo/doc/npr.rst index e547689..48e2db2 100644 --- a/modules/photo/doc/npr.rst +++ b/modules/photo/doc/npr.rst @@ -72,18 +72,3 @@ Stylization aims to produce digital imagery with a wide variety of effects not f :param sigma_s: Range between 0 to 200. :param sigma_r: Range between 0 to 1. - - -edgeEnhance ------------ -Able to suppress low-amplitude details and enhance edges. - -.. ocv:function:: void edgeEnhance(InputArray src, OutputArray dst, float sigma_s = 60, float sigma_r = 0.45) - - :param src: Input 8-bit 3-channel image. - - :param dst: Output 8-bit 1-channel image. - - :param sigma_s: Range between 0 to 200. - - :param sigma_r: Range between 0 to 1. diff --git a/modules/photo/include/opencv2/photo.hpp b/modules/photo/include/opencv2/photo.hpp index 256366a..949c1cf 100644 --- a/modules/photo/include/opencv2/photo.hpp +++ b/modules/photo/include/opencv2/photo.hpp @@ -93,213 +93,213 @@ namespace cv float h = 3, float hColor = 3, int templateWindowSize = 7, int searchWindowSize = 21); -enum { LDR_SIZE = 256 }; + enum { LDR_SIZE = 256 }; -class CV_EXPORTS_W Tonemap : public Algorithm -{ -public: - CV_WRAP virtual void process(InputArray src, OutputArray dst) = 0; + class CV_EXPORTS_W Tonemap : public Algorithm + { + public: + CV_WRAP virtual void process(InputArray src, OutputArray dst) = 0; - CV_WRAP virtual float getGamma() const = 0; - CV_WRAP virtual void setGamma(float gamma) = 0; -}; + CV_WRAP virtual float getGamma() const = 0; + CV_WRAP virtual void setGamma(float gamma) = 0; + }; -CV_EXPORTS_W Ptr createTonemap(float gamma = 1.0f); + CV_EXPORTS_W Ptr createTonemap(float gamma = 1.0f); -// "Adaptive Logarithmic Mapping For Displaying HighContrast Scenes", Drago et al., 2003 + // "Adaptive Logarithmic Mapping For Displaying HighContrast Scenes", Drago et al., 2003 -class CV_EXPORTS_W TonemapDrago : public Tonemap -{ -public: + class CV_EXPORTS_W TonemapDrago : public Tonemap + { + public: - CV_WRAP virtual float getSaturation() const = 0; - CV_WRAP virtual void setSaturation(float saturation) = 0; + CV_WRAP virtual float getSaturation() const = 0; + CV_WRAP virtual void setSaturation(float saturation) = 0; - CV_WRAP virtual float getBias() const = 0; - CV_WRAP virtual void setBias(float bias) = 0; -}; + CV_WRAP virtual float getBias() const = 0; + CV_WRAP virtual void setBias(float bias) = 0; + }; -CV_EXPORTS_W Ptr createTonemapDrago(float gamma = 1.0f, float saturation = 1.0f, float bias = 0.85f); + CV_EXPORTS_W Ptr createTonemapDrago(float gamma = 1.0f, float saturation = 1.0f, float bias = 0.85f); -// "Fast Bilateral Filtering for the Display of High-Dynamic-Range Images", Durand, Dorsey, 2002 + // "Fast Bilateral Filtering for the Display of High-Dynamic-Range Images", Durand, Dorsey, 2002 -class CV_EXPORTS_W TonemapDurand : public Tonemap -{ -public: + class CV_EXPORTS_W TonemapDurand : public Tonemap + { + public: - CV_WRAP virtual float getSaturation() const = 0; - CV_WRAP virtual void setSaturation(float saturation) = 0; + CV_WRAP virtual float getSaturation() const = 0; + CV_WRAP virtual void setSaturation(float saturation) = 0; - CV_WRAP virtual float getContrast() const = 0; - CV_WRAP virtual void setContrast(float contrast) = 0; + CV_WRAP virtual float getContrast() const = 0; + CV_WRAP virtual void setContrast(float contrast) = 0; - CV_WRAP virtual float getSigmaSpace() const = 0; - CV_WRAP virtual void setSigmaSpace(float sigma_space) = 0; + CV_WRAP virtual float getSigmaSpace() const = 0; + CV_WRAP virtual void setSigmaSpace(float sigma_space) = 0; - CV_WRAP virtual float getSigmaColor() const = 0; - CV_WRAP virtual void setSigmaColor(float sigma_color) = 0; -}; + CV_WRAP virtual float getSigmaColor() const = 0; + CV_WRAP virtual void setSigmaColor(float sigma_color) = 0; + }; -CV_EXPORTS_W Ptr -createTonemapDurand(float gamma = 1.0f, float contrast = 4.0f, float saturation = 1.0f, float sigma_space = 2.0f, float sigma_color = 2.0f); + CV_EXPORTS_W Ptr + createTonemapDurand(float gamma = 1.0f, float contrast = 4.0f, float saturation = 1.0f, float sigma_space = 2.0f, float sigma_color = 2.0f); -// "Dynamic Range Reduction Inspired by Photoreceptor Physiology", Reinhard, Devlin, 2005 + // "Dynamic Range Reduction Inspired by Photoreceptor Physiology", Reinhard, Devlin, 2005 -class CV_EXPORTS_W TonemapReinhard : public Tonemap -{ -public: - CV_WRAP virtual float getIntensity() const = 0; - CV_WRAP virtual void setIntensity(float intensity) = 0; + class CV_EXPORTS_W TonemapReinhard : public Tonemap + { + public: + CV_WRAP virtual float getIntensity() const = 0; + CV_WRAP virtual void setIntensity(float intensity) = 0; - CV_WRAP virtual float getLightAdaptation() const = 0; - CV_WRAP virtual void setLightAdaptation(float light_adapt) = 0; + CV_WRAP virtual float getLightAdaptation() const = 0; + CV_WRAP virtual void setLightAdaptation(float light_adapt) = 0; - CV_WRAP virtual float getColorAdaptation() const = 0; - CV_WRAP virtual void setColorAdaptation(float color_adapt) = 0; -}; + CV_WRAP virtual float getColorAdaptation() const = 0; + CV_WRAP virtual void setColorAdaptation(float color_adapt) = 0; + }; -CV_EXPORTS_W Ptr -createTonemapReinhard(float gamma = 1.0f, float intensity = 0.0f, float light_adapt = 1.0f, float color_adapt = 0.0f); + CV_EXPORTS_W Ptr + createTonemapReinhard(float gamma = 1.0f, float intensity = 0.0f, float light_adapt = 1.0f, float color_adapt = 0.0f); -// "Perceptual Framework for Contrast Processing of High Dynamic Range Images", Mantiuk et al., 2006 + // "Perceptual Framework for Contrast Processing of High Dynamic Range Images", Mantiuk et al., 2006 -class CV_EXPORTS_W TonemapMantiuk : public Tonemap -{ -public: - CV_WRAP virtual float getScale() const = 0; - CV_WRAP virtual void setScale(float scale) = 0; + class CV_EXPORTS_W TonemapMantiuk : public Tonemap + { + public: + CV_WRAP virtual float getScale() const = 0; + CV_WRAP virtual void setScale(float scale) = 0; - CV_WRAP virtual float getSaturation() const = 0; - CV_WRAP virtual void setSaturation(float saturation) = 0; -}; + CV_WRAP virtual float getSaturation() const = 0; + CV_WRAP virtual void setSaturation(float saturation) = 0; + }; -CV_EXPORTS_W Ptr -createTonemapMantiuk(float gamma = 1.0f, float scale = 0.7f, float saturation = 1.0f); + CV_EXPORTS_W Ptr + createTonemapMantiuk(float gamma = 1.0f, float scale = 0.7f, float saturation = 1.0f); -class CV_EXPORTS_W AlignExposures : public Algorithm -{ -public: - CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst, - InputArray times, InputArray response) = 0; -}; + class CV_EXPORTS_W AlignExposures : public Algorithm + { + public: + CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst, + InputArray times, InputArray response) = 0; + }; -// "Fast, Robust Image Registration for Compositing High Dynamic Range Photographs from Handheld Exposures", Ward, 2003 + // "Fast, Robust Image Registration for Compositing High Dynamic Range Photographs from Handheld Exposures", Ward, 2003 -class CV_EXPORTS_W AlignMTB : public AlignExposures -{ -public: - CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst, - InputArray times, InputArray response) = 0; + class CV_EXPORTS_W AlignMTB : public AlignExposures + { + public: + CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst, + InputArray times, InputArray response) = 0; - CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst) = 0; + CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst) = 0; - CV_WRAP virtual Point calculateShift(InputArray img0, InputArray img1) = 0; - CV_WRAP virtual void shiftMat(InputArray src, OutputArray dst, const Point shift) = 0; - CV_WRAP virtual void computeBitmaps(InputArray img, OutputArray tb, OutputArray eb) = 0; + CV_WRAP virtual Point calculateShift(InputArray img0, InputArray img1) = 0; + CV_WRAP virtual void shiftMat(InputArray src, OutputArray dst, const Point shift) = 0; + CV_WRAP virtual void computeBitmaps(InputArray img, OutputArray tb, OutputArray eb) = 0; - CV_WRAP virtual int getMaxBits() const = 0; - CV_WRAP virtual void setMaxBits(int max_bits) = 0; + CV_WRAP virtual int getMaxBits() const = 0; + CV_WRAP virtual void setMaxBits(int max_bits) = 0; - CV_WRAP virtual int getExcludeRange() const = 0; - CV_WRAP virtual void setExcludeRange(int exclude_range) = 0; + CV_WRAP virtual int getExcludeRange() const = 0; + CV_WRAP virtual void setExcludeRange(int exclude_range) = 0; - CV_WRAP virtual bool getCut() const = 0; - CV_WRAP virtual void setCut(bool value) = 0; -}; + CV_WRAP virtual bool getCut() const = 0; + CV_WRAP virtual void setCut(bool value) = 0; + }; -CV_EXPORTS_W Ptr createAlignMTB(int max_bits = 6, int exclude_range = 4, bool cut = true); + CV_EXPORTS_W Ptr createAlignMTB(int max_bits = 6, int exclude_range = 4, bool cut = true); -class CV_EXPORTS_W CalibrateCRF : public Algorithm -{ -public: - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; -}; + class CV_EXPORTS_W CalibrateCRF : public Algorithm + { + public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; + }; -// "Recovering High Dynamic Range Radiance Maps from Photographs", Debevec, Malik, 1997 + // "Recovering High Dynamic Range Radiance Maps from Photographs", Debevec, Malik, 1997 -class CV_EXPORTS_W CalibrateDebevec : public CalibrateCRF -{ -public: - CV_WRAP virtual float getLambda() const = 0; - CV_WRAP virtual void setLambda(float lambda) = 0; + class CV_EXPORTS_W CalibrateDebevec : public CalibrateCRF + { + public: + CV_WRAP virtual float getLambda() const = 0; + CV_WRAP virtual void setLambda(float lambda) = 0; - CV_WRAP virtual int getSamples() const = 0; - CV_WRAP virtual void setSamples(int samples) = 0; + CV_WRAP virtual int getSamples() const = 0; + CV_WRAP virtual void setSamples(int samples) = 0; - CV_WRAP virtual bool getRandom() const = 0; - CV_WRAP virtual void setRandom(bool random) = 0; -}; + CV_WRAP virtual bool getRandom() const = 0; + CV_WRAP virtual void setRandom(bool random) = 0; + }; -CV_EXPORTS_W Ptr createCalibrateDebevec(int samples = 70, float lambda = 10.0f, bool random = false); + CV_EXPORTS_W Ptr createCalibrateDebevec(int samples = 70, float lambda = 10.0f, bool random = false); -// "Dynamic range improvement through multiple exposures", Robertson et al., 1999 + // "Dynamic range improvement through multiple exposures", Robertson et al., 1999 -class CV_EXPORTS_W CalibrateRobertson : public CalibrateCRF -{ -public: - CV_WRAP virtual int getMaxIter() const = 0; - CV_WRAP virtual void setMaxIter(int max_iter) = 0; + class CV_EXPORTS_W CalibrateRobertson : public CalibrateCRF + { + public: + CV_WRAP virtual int getMaxIter() const = 0; + CV_WRAP virtual void setMaxIter(int max_iter) = 0; - CV_WRAP virtual float getThreshold() const = 0; - CV_WRAP virtual void setThreshold(float threshold) = 0; + CV_WRAP virtual float getThreshold() const = 0; + CV_WRAP virtual void setThreshold(float threshold) = 0; - CV_WRAP virtual Mat getRadiance() const = 0; -}; + CV_WRAP virtual Mat getRadiance() const = 0; + }; -CV_EXPORTS_W Ptr createCalibrateRobertson(int max_iter = 30, float threshold = 0.01f); + CV_EXPORTS_W Ptr createCalibrateRobertson(int max_iter = 30, float threshold = 0.01f); -class CV_EXPORTS_W MergeExposures : public Algorithm -{ -public: - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, - InputArray times, InputArray response) = 0; -}; + class CV_EXPORTS_W MergeExposures : public Algorithm + { + public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; + }; -// "Recovering High Dynamic Range Radiance Maps from Photographs", Debevec, Malik, 1997 + // "Recovering High Dynamic Range Radiance Maps from Photographs", Debevec, Malik, 1997 -class CV_EXPORTS_W MergeDebevec : public MergeExposures -{ -public: - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, - InputArray times, InputArray response) = 0; - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; -}; + class CV_EXPORTS_W MergeDebevec : public MergeExposures + { + public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; + }; -CV_EXPORTS_W Ptr createMergeDebevec(); + CV_EXPORTS_W Ptr createMergeDebevec(); -// "Exposure Fusion", Mertens et al., 2007 + // "Exposure Fusion", Mertens et al., 2007 -class CV_EXPORTS_W MergeMertens : public MergeExposures -{ -public: - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, - InputArray times, InputArray response) = 0; - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst) = 0; + class CV_EXPORTS_W MergeMertens : public MergeExposures + { + public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst) = 0; - CV_WRAP virtual float getContrastWeight() const = 0; - CV_WRAP virtual void setContrastWeight(float contrast_weiht) = 0; + CV_WRAP virtual float getContrastWeight() const = 0; + CV_WRAP virtual void setContrastWeight(float contrast_weiht) = 0; - CV_WRAP virtual float getSaturationWeight() const = 0; - CV_WRAP virtual void setSaturationWeight(float saturation_weight) = 0; + CV_WRAP virtual float getSaturationWeight() const = 0; + CV_WRAP virtual void setSaturationWeight(float saturation_weight) = 0; - CV_WRAP virtual float getExposureWeight() const = 0; - CV_WRAP virtual void setExposureWeight(float exposure_weight) = 0; -}; + CV_WRAP virtual float getExposureWeight() const = 0; + CV_WRAP virtual void setExposureWeight(float exposure_weight) = 0; + }; -CV_EXPORTS_W Ptr -createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 0.0f); + CV_EXPORTS_W Ptr + createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 0.0f); -// "Dynamic range improvement through multiple exposures", Robertson et al., 1999 + // "Dynamic range improvement through multiple exposures", Robertson et al., 1999 -class CV_EXPORTS_W MergeRobertson : public MergeExposures -{ -public: - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, - InputArray times, InputArray response) = 0; - CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; -}; + class CV_EXPORTS_W MergeRobertson : public MergeExposures + { + public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; + }; -CV_EXPORTS_W Ptr createMergeRobertson(); + CV_EXPORTS_W Ptr createMergeRobertson(); CV_EXPORTS_W void decolor( InputArray src, OutputArray grayscale, OutputArray color_boost); @@ -328,9 +328,6 @@ CV_EXPORTS_W Ptr createMergeRobertson(); CV_EXPORTS_W void stylization(InputArray src, OutputArray dst, float sigma_s = 60, float sigma_r = 0.45); - CV_EXPORTS_W void edgeEnhance(InputArray src, OutputArray dst, float sigma_s = 60, - float sigma_r = 0.45); - } // cv #endif diff --git a/modules/photo/src/contrast_preserve.hpp b/modules/photo/src/contrast_preserve.hpp index 6319d15..54b9525 100644 --- a/modules/photo/src/contrast_preserve.hpp +++ b/modules/photo/src/contrast_preserve.hpp @@ -74,6 +74,13 @@ class Decolor void grayImContruct(vector &wei, Mat img, Mat &Gray); }; +int round_num(double a); + +int round_num(double a) +{ + return int(a + 0.5); +} + double Decolor::energyCalcu(vector &Cg, vector < vector > &polyGrad, vector &wei) { vector energy; @@ -228,7 +235,7 @@ void Decolor::weak_order(Mat img, vector &alf) if((h + w) > 800) { sizefactor = (double)800/(h+w); - resize(img,img,Size(round(h*sizefactor),round(w*sizefactor))); + resize(img,img,Size(round_num(h*sizefactor),round_num(w*sizefactor))); } Mat curIm = Mat(img.size(),CV_32FC1); @@ -304,7 +311,7 @@ void Decolor::grad_system(Mat img, vector < vector < double > > &polyGrad, if((h + w) > 800) { sizefactor = (double)800/(h+w); - resize(img,img,Size(round(h*sizefactor),round(w*sizefactor))); + resize(img,img,Size(round_num(h*sizefactor),round_num(w*sizefactor))); } h = img.size().height; diff --git a/modules/photo/src/npr.cpp b/modules/photo/src/npr.cpp index a3b38d4..3f0be9b 100644 --- a/modules/photo/src/npr.cpp +++ b/modules/photo/src/npr.cpp @@ -151,7 +151,6 @@ void cv::stylization(InputArray _src, OutputArray _dst, float sigma_s, float sig int h = img.size().height; int w = img.size().width; - int channel = img.channels(); Mat res = Mat(h,w,CV_32FC3); Mat magnitude = Mat(h,w,CV_32FC1); @@ -159,7 +158,7 @@ void cv::stylization(InputArray _src, OutputArray _dst, float sigma_s, float sig Domain_Filter obj; obj.filter(img, res, sigma_s, sigma_r, NORMCONV_FILTER); - obj.find_magnitude(res,magnitude,2); + obj.find_magnitude(res,magnitude); Mat stylized = Mat(h,w,CV_32FC3); @@ -172,31 +171,3 @@ void cv::stylization(InputArray _src, OutputArray _dst, float sigma_s, float sig stylized.convertTo(dst,CV_8UC3,255); } - -void cv::edgeEnhance(InputArray _src, OutputArray _dst, float sigma_s, float sigma_r) -{ - Mat I = _src.getMat(); - _dst.create(I.size(), CV_8UC1); - Mat dst = _dst.getMat(); - - Mat img = Mat(I.size(),CV_32FC3); - I.convertTo(img,CV_32FC3,1.0/255.0); - - Mat orig = img.clone(); - - int h = img.size().height; - int w = img.size().width; - - Mat res = Mat(h,w,CV_32FC3); - Mat magnitude = Mat(h,w,CV_32FC1); - - Mat mag8 = Mat(h,w,CV_32FC1); - - Domain_Filter obj; - - obj.filter(img, res, sigma_s, sigma_r, NORMCONV_FILTER); - - obj.find_magnitude(res,magnitude,1); - - magnitude.convertTo(dst,CV_8UC1,255); -} diff --git a/modules/photo/src/npr.hpp b/modules/photo/src/npr.hpp index 733d418..9658e25 100644 --- a/modules/photo/src/npr.hpp +++ b/modules/photo/src/npr.hpp @@ -61,7 +61,7 @@ class Domain_Filter void getGradienty( const Mat &img, Mat &gy); void diffx(const Mat &img, Mat &temp); void diffy(const Mat &img, Mat &temp); - void find_magnitude(Mat &img, Mat &mag, int flags); + void find_magnitude(Mat &img, Mat &mag); void compute_boxfilter(Mat &output, Mat &hz, Mat &psketch, float radius); void compute_Rfilter(Mat &O, Mat &horiz, float sigma_h); void compute_NCfilter(Mat &O, Mat &horiz, Mat &psketch, float radius); @@ -131,7 +131,7 @@ void Domain_Filter::getGradienty( const Mat &img, Mat &gy) } } -void Domain_Filter::find_magnitude(Mat &img, Mat &mag, int flags) +void Domain_Filter::find_magnitude(Mat &img, Mat &mag) { int h = img.rows; int w = img.cols; @@ -148,28 +148,14 @@ void Domain_Filter::find_magnitude(Mat &img, Mat &mag, int flags) Mat magXB = Mat(h, w, CV_32FC1); Mat magYB = Mat(h, w, CV_32FC1); - if(flags == 1) - { - getGradientx(planes[0], magXR); - getGradienty(planes[0], magYR); - - getGradientx(planes[1], magXG); - getGradienty(planes[1], magYG); - - getGradientx(planes[2], magXR); - getGradienty(planes[2], magYR); - } - else if(flags == 2) - { - Sobel(planes[0], magXR, CV_32FC1, 1, 0, 3); - Sobel(planes[0], magYR, CV_32FC1, 0, 1, 3); + Sobel(planes[0], magXR, CV_32FC1, 1, 0, 3); + Sobel(planes[0], magYR, CV_32FC1, 0, 1, 3); - Sobel(planes[1], magXG, CV_32FC1, 1, 0, 3); - Sobel(planes[1], magYG, CV_32FC1, 0, 1, 3); + Sobel(planes[1], magXG, CV_32FC1, 1, 0, 3); + Sobel(planes[1], magYG, CV_32FC1, 0, 1, 3); - Sobel(planes[2], magXB, CV_32FC1, 1, 0, 3); - Sobel(planes[2], magYB, CV_32FC1, 0, 1, 3); - } + Sobel(planes[2], magXB, CV_32FC1, 1, 0, 3); + Sobel(planes[2], magYB, CV_32FC1, 0, 1, 3); Mat mag1 = Mat(h,w,CV_32FC1); Mat mag2 = Mat(h,w,CV_32FC1); diff --git a/modules/photo/test/test_npr.cpp b/modules/photo/test/test_npr.cpp old mode 100644 new mode 100755 index 5d55d4c..993f6c3 --- a/modules/photo/test/test_npr.cpp +++ b/modules/photo/test/test_npr.cpp @@ -128,19 +128,3 @@ TEST(Photo_NPR_Stylization, regression) imwrite(folder + "stylized.png", result); } - -TEST(Photo_NPR_EdgeEnhance, regression) -{ - string folder = string(cvtest::TS::ptr()->get_data_path()) + "npr/"; - string original_path = folder + "test1.png"; - - Mat source = imread(original_path, IMREAD_COLOR); - - ASSERT_FALSE(source.empty()) << "Could not load input image " << original_path; - - Mat result; - edgeEnhance(source,result); - - imwrite(folder + "edge_enhanced.png", result); - -} diff --git a/samples/cpp/cloning_demo.cpp b/samples/cpp/cloning_demo.cpp index d9bcfb3..7ff0100 100644 --- a/samples/cpp/cloning_demo.cpp +++ b/samples/cpp/cloning_demo.cpp @@ -43,7 +43,7 @@ int main() cout << "6) Texture Flattening " << endl; cout << endl; cout << "Press number 1-6 to choose from above techniques: "; - int num; + int num = 1; cin >> num; cout << endl; diff --git a/samples/cpp/npr_demo.cpp b/samples/cpp/npr_demo.cpp index e5e2528..30d30cb 100644 --- a/samples/cpp/npr_demo.cpp +++ b/samples/cpp/npr_demo.cpp @@ -11,7 +11,6 @@ * 2) Detail Enhancement * 3) Pencil sketch/Color Pencil Drawing * 4) Stylization -* 5) Edge Enhancement * */ @@ -57,10 +56,9 @@ int main(int argc, char* argv[]) cout << "2) Detail Enhancement" << endl; cout << "3) Pencil sketch/Color Pencil Drawing" << endl; cout << "4) Stylization" << endl; - cout << "5) Edge Enhancement" << endl; cout << endl; - cout << "Press number 1-5 to choose from above techniques: "; + cout << "Press number 1-4 to choose from above techniques: "; cin >> num; @@ -94,11 +92,5 @@ int main(int argc, char* argv[]) stylization(I,img); imshow("Stylization",img); } - else if(num == 5) - { - edgeEnhance(I,img); - imshow("Edge Enhance",img); - } - waitKey(0); } -- 2.7.4