Commit 33e6c074 authored by siddharth's avatar siddharth

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
parent 2f65a0d4
......@@ -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.
......
......@@ -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.
This diff is collapsed.
......@@ -74,6 +74,13 @@ class Decolor
void grayImContruct(vector <double> &wei, Mat img, Mat &Gray);
};
int round_num(double a);
int round_num(double a)
{
return int(a + 0.5);
}
double Decolor::energyCalcu(vector <double> &Cg, vector < vector <double> > &polyGrad, vector <double> &wei)
{
vector <double> energy;
......@@ -228,7 +235,7 @@ void Decolor::weak_order(Mat img, vector <double> &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;
......
......@@ -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);
}
......@@ -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);
......
......@@ -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);
}
......@@ -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;
......
......@@ -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);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment