mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 07:43:03 +04:00
don't use constructors for C API structures
This commit is contained in:
@@ -126,10 +126,10 @@ bool CV_ApproxPolyTest::get_contour( int /*type*/, CvSeq** Seq, int* d,
|
||||
int i;
|
||||
CvSeq* seq;
|
||||
int total = cvtest::randInt(rng) % 1000 + 1;
|
||||
CvPoint center;
|
||||
Point center;
|
||||
int radius, angle;
|
||||
double deg_to_rad = CV_PI/180.;
|
||||
CvPoint pt;
|
||||
Point pt;
|
||||
|
||||
center.x = cvtest::randInt( rng ) % 1000;
|
||||
center.y = cvtest::randInt( rng ) % 1000;
|
||||
@@ -166,7 +166,7 @@ int CV_ApproxPolyTest::check_slice( CvPoint StartPt, CvPoint EndPt,
|
||||
int* _j, int Count )
|
||||
{
|
||||
///////////
|
||||
CvPoint Pt;
|
||||
Point Pt;
|
||||
///////////
|
||||
bool flag;
|
||||
double dy,dx;
|
||||
@@ -208,7 +208,7 @@ int CV_ApproxPolyTest::check_slice( CvPoint StartPt, CvPoint EndPt,
|
||||
/////// find start point and check distance ////////
|
||||
for( j = *_j; j < Count; j++ )
|
||||
{
|
||||
CV_READ_SEQ_ELEM( Pt, *SrcReader );
|
||||
{ CvPoint pt_ = CV_STRUCT_INITIALIZER; CV_READ_SEQ_ELEM(pt_, *SrcReader); Pt = pt_; }
|
||||
if( StartPt.x == Pt.x && StartPt.y == Pt.y ) break;
|
||||
else
|
||||
{
|
||||
@@ -230,7 +230,7 @@ int CV_ApproxPolyTest::check( CvSeq* SrcSeq, CvSeq* DstSeq, float Eps )
|
||||
//////////
|
||||
CvSeqReader DstReader;
|
||||
CvSeqReader SrcReader;
|
||||
CvPoint StartPt, EndPt;
|
||||
CvPoint StartPt = {0, 0}, EndPt = {0, 0};
|
||||
///////////
|
||||
int TotalErrors = 0;
|
||||
///////////
|
||||
|
||||
@@ -65,7 +65,7 @@ protected:
|
||||
|
||||
int min_log_img_width, max_log_img_width;
|
||||
int min_log_img_height, max_log_img_height;
|
||||
CvSize img_size;
|
||||
Size img_size;
|
||||
int count, count2;
|
||||
|
||||
IplImage* img[NUM_IMG];
|
||||
@@ -170,9 +170,9 @@ cvTsGenerateBlobImage( IplImage* img, int min_blob_size, int max_blob_size,
|
||||
RNG& rng )
|
||||
{
|
||||
int i;
|
||||
CvSize size;
|
||||
Size size;
|
||||
|
||||
assert( img->depth == IPL_DEPTH_8U && img->nChannels == 1 );
|
||||
CV_Assert(img->depth == IPL_DEPTH_8U && img->nChannels == 1);
|
||||
|
||||
cvZero( img );
|
||||
|
||||
@@ -182,8 +182,8 @@ cvTsGenerateBlobImage( IplImage* img, int min_blob_size, int max_blob_size,
|
||||
|
||||
for( i = 0; i < blob_count; i++ )
|
||||
{
|
||||
CvPoint center;
|
||||
CvSize axes;
|
||||
Point center;
|
||||
Size axes;
|
||||
int angle = cvtest::randInt(rng) % 180;
|
||||
int brightness = cvtest::randInt(rng) %
|
||||
(max_brightness - min_brightness) + min_brightness;
|
||||
@@ -195,7 +195,7 @@ cvTsGenerateBlobImage( IplImage* img, int min_blob_size, int max_blob_size,
|
||||
axes.height = (cvtest::randInt(rng) %
|
||||
(max_blob_size - min_blob_size) + min_blob_size + 1)/2;
|
||||
|
||||
cvEllipse( img, center, axes, angle, 0, 360, cvScalar(brightness), CV_FILLED );
|
||||
cvEllipse( img, cvPoint(center), cvSize(axes), angle, 0, 360, cvScalar(brightness), CV_FILLED );
|
||||
}
|
||||
|
||||
cvResetImageROI( img );
|
||||
@@ -246,7 +246,7 @@ int CV_FindContourTest::prepare_test_case( int test_case_idx )
|
||||
storage = cvCreateMemStorage( 1 << 10 );
|
||||
|
||||
for( i = 0; i < NUM_IMG; i++ )
|
||||
img[i] = cvCreateImage( img_size, 8, 1 );
|
||||
img[i] = cvCreateImage( cvSize(img_size), 8, 1 );
|
||||
|
||||
cvTsGenerateBlobImage( img[0], min_blob_size, max_blob_size,
|
||||
blob_count, min_brightness, max_brightness, rng );
|
||||
@@ -376,8 +376,8 @@ int CV_FindContourTest::validate_test_results( int /*test_case_idx*/ )
|
||||
|
||||
for(int i = 0; i < seq1->total; i++ )
|
||||
{
|
||||
CvPoint pt1;
|
||||
CvPoint pt2;
|
||||
CvPoint pt1 = {0, 0};
|
||||
CvPoint pt2 = {0, 0};
|
||||
|
||||
CV_READ_SEQ_ELEM( pt1, reader1 );
|
||||
CV_READ_SEQ_ELEM( pt2, reader2 );
|
||||
|
||||
@@ -77,6 +77,13 @@ cvTsDist( CvPoint2D32f a, CvPoint2D32f b )
|
||||
double dy = a.y - b.y;
|
||||
return sqrt(dx*dx + dy*dy);
|
||||
}
|
||||
CV_INLINE double
|
||||
cvTsDist( const Point2f& a, const Point2f& b )
|
||||
{
|
||||
double dx = a.x - b.x;
|
||||
double dy = a.y - b.y;
|
||||
return sqrt(dx*dx + dy*dy);
|
||||
}
|
||||
|
||||
CV_INLINE double
|
||||
cvTsPtLineDist( CvPoint2D32f pt, CvPoint2D32f a, CvPoint2D32f b )
|
||||
@@ -95,7 +102,7 @@ static double
|
||||
cvTsPointPolygonTest( CvPoint2D32f pt, const CvPoint2D32f* vv, int n, int* _idx=0, int* _on_edge=0 )
|
||||
{
|
||||
int i;
|
||||
CvPoint2D32f v = vv[n-1], v0;
|
||||
Point2f v = vv[n-1], v0;
|
||||
double min_dist_num = FLT_MAX, min_dist_denom = 1;
|
||||
int min_dist_idx = -1, min_on_edge = 0;
|
||||
int counter = 0;
|
||||
@@ -169,9 +176,9 @@ cvTsMiddlePoint(const cv::Point2f &a, const cv::Point2f &b)
|
||||
static bool
|
||||
cvTsIsPointOnLineSegment(const cv::Point2f &x, const cv::Point2f &a, const cv::Point2f &b)
|
||||
{
|
||||
double d1 = cvTsDist(CvPoint2D32f(x.x, x.y), CvPoint2D32f(a.x, a.y));
|
||||
double d2 = cvTsDist(CvPoint2D32f(x.x, x.y), CvPoint2D32f(b.x, b.y));
|
||||
double d3 = cvTsDist(CvPoint2D32f(a.x, a.y), CvPoint2D32f(b.x, b.y));
|
||||
double d1 = cvTsDist(cvPoint2D32f(x.x, x.y), cvPoint2D32f(a.x, a.y));
|
||||
double d2 = cvTsDist(cvPoint2D32f(x.x, x.y), cvPoint2D32f(b.x, b.y));
|
||||
double d3 = cvTsDist(cvPoint2D32f(a.x, a.y), cvPoint2D32f(b.x, b.y));
|
||||
|
||||
return (abs(d1 + d2 - d3) <= (1E-5));
|
||||
}
|
||||
@@ -207,7 +214,7 @@ protected:
|
||||
void* points;
|
||||
void* result;
|
||||
double low_high_range;
|
||||
CvScalar low, high;
|
||||
Scalar low, high;
|
||||
|
||||
bool test_cpp;
|
||||
};
|
||||
@@ -694,7 +701,7 @@ void CV_MinAreaRectTest::run_func()
|
||||
else
|
||||
{
|
||||
cv::RotatedRect r = cv::minAreaRect(cv::cvarrToMat(points));
|
||||
box = (CvBox2D)r;
|
||||
box = cvBox2D(r);
|
||||
r.points((cv::Point2f*)box_pt);
|
||||
}
|
||||
}
|
||||
@@ -938,7 +945,7 @@ protected:
|
||||
void run_func(void);
|
||||
int validate_test_results( int test_case_idx );
|
||||
|
||||
CvPoint2D32f center;
|
||||
Point2f center;
|
||||
float radius;
|
||||
};
|
||||
|
||||
@@ -951,7 +958,11 @@ CV_MinCircleTest::CV_MinCircleTest()
|
||||
void CV_MinCircleTest::run_func()
|
||||
{
|
||||
if(!test_cpp)
|
||||
cvMinEnclosingCircle( points, ¢er, &radius );
|
||||
{
|
||||
CvPoint2D32f c_center = cvPoint2D32f(center);
|
||||
cvMinEnclosingCircle( points, &c_center, &radius );
|
||||
center = c_center;
|
||||
}
|
||||
else
|
||||
{
|
||||
cv::Point2f tmpcenter;
|
||||
@@ -966,8 +977,8 @@ int CV_MinCircleTest::validate_test_results( int test_case_idx )
|
||||
double eps = 1.03;
|
||||
int code = CV_BaseShapeDescrTest::validate_test_results( test_case_idx );
|
||||
int i, j = 0, point_count = points2->rows + points2->cols - 1;
|
||||
CvPoint2D32f *p = (CvPoint2D32f*)(points2->data.ptr);
|
||||
CvPoint2D32f v[3];
|
||||
Point2f *p = (Point2f*)(points2->data.ptr);
|
||||
Point2f v[3];
|
||||
|
||||
#if 0
|
||||
{
|
||||
@@ -989,7 +1000,7 @@ int CV_MinCircleTest::validate_test_results( int test_case_idx )
|
||||
// remember at most 3 points that are close to the boundary
|
||||
for( i = 0; i < point_count; i++ )
|
||||
{
|
||||
double d = cvTsDist( p[i], center );
|
||||
double d = cvTsDist(p[i], center);
|
||||
if( d > radius )
|
||||
{
|
||||
ts->printf( cvtest::TS::LOG, "The point #%d is outside of the circle\n", i );
|
||||
@@ -1145,7 +1156,8 @@ int CV_PerimeterTest::validate_test_results( int test_case_idx )
|
||||
int code = CV_BaseShapeDescrTest::validate_test_results( test_case_idx );
|
||||
int i, len = slice.end_index - slice.start_index, total = points2->cols + points2->rows - 1;
|
||||
double result0 = 0;
|
||||
CvPoint2D32f prev_pt, pt, *ptr;
|
||||
Point2f prev_pt, pt;
|
||||
CvPoint2D32f *ptr;
|
||||
|
||||
if( len < 0 )
|
||||
len += total;
|
||||
@@ -1195,7 +1207,7 @@ protected:
|
||||
void generate_point_set( void* points );
|
||||
void run_func(void);
|
||||
int validate_test_results( int test_case_idx );
|
||||
CvBox2D box0, box;
|
||||
RotatedRect box0, box;
|
||||
double min_ellipse_size, max_noise;
|
||||
};
|
||||
|
||||
@@ -1248,12 +1260,12 @@ void CV_FitEllipseTest::generate_point_set( void* pointsSet )
|
||||
data = ptm->data.ptr;
|
||||
}
|
||||
|
||||
assert( point_type == CV_32SC2 || point_type == CV_32FC2 );
|
||||
CV_Assert(point_type == CV_32SC2 || point_type == CV_32FC2);
|
||||
|
||||
for( i = 0; i < total; i++ )
|
||||
{
|
||||
CvPoint* pp;
|
||||
CvPoint2D32f p;
|
||||
CvPoint2D32f p = {0, 0};
|
||||
double angle = cvtest::randReal(rng)*CV_PI*2;
|
||||
double x = box0.size.height*0.5*(cos(angle) + (cvtest::randReal(rng)-0.5)*2*max_noise);
|
||||
double y = box0.size.width*0.5*(sin(angle) + (cvtest::randReal(rng)-0.5)*2*max_noise);
|
||||
@@ -1291,7 +1303,7 @@ void CV_FitEllipseTest::run_func()
|
||||
if(!test_cpp)
|
||||
box = cvFitEllipse2( points );
|
||||
else
|
||||
box = (CvBox2D)cv::fitEllipse(cv::cvarrToMat(points));
|
||||
box = cv::fitEllipse(cv::cvarrToMat(points));
|
||||
}
|
||||
|
||||
int CV_FitEllipseTest::validate_test_results( int test_case_idx )
|
||||
@@ -1459,7 +1471,7 @@ void CV_FitEllipseParallelTest::generate_point_set( void* )
|
||||
|
||||
void CV_FitEllipseParallelTest::run_func()
|
||||
{
|
||||
box = (CvBox2D)cv::fitEllipse(pointsMat);
|
||||
box = cv::fitEllipse(pointsMat);
|
||||
}
|
||||
|
||||
CV_FitEllipseParallelTest::~CV_FitEllipseParallelTest(){
|
||||
@@ -1704,7 +1716,7 @@ cvTsGenerateTousledBlob( CvPoint2D32f center, CvSize2D32f axes,
|
||||
for( i = 0; i < total; i++ )
|
||||
{
|
||||
CvPoint* pp;
|
||||
CvPoint2D32f p;
|
||||
Point2f p;
|
||||
|
||||
double phi0 = 2*CV_PI*i/total;
|
||||
double phi = CV_PI*angle/180.;
|
||||
@@ -1730,7 +1742,7 @@ cvTsGenerateTousledBlob( CvPoint2D32f center, CvSize2D32f axes,
|
||||
pp->y = cvRound(p.y);
|
||||
}
|
||||
else
|
||||
*(CvPoint2D32f*)pp = p;
|
||||
*(CvPoint2D32f*)pp = cvPoint2D32f(p);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1747,11 +1759,11 @@ protected:
|
||||
int validate_test_results( int test_case_idx );
|
||||
CvMoments moments0, moments;
|
||||
double area0, area;
|
||||
CvSize2D32f axes;
|
||||
CvPoint2D32f center;
|
||||
Size2f axes;
|
||||
Point2f center;
|
||||
int max_max_r_scale;
|
||||
double max_r_scale, angle;
|
||||
CvSize img_size;
|
||||
Size img_size;
|
||||
};
|
||||
|
||||
|
||||
@@ -1785,7 +1797,7 @@ void CV_ContourMomentsTest::generate_point_set( void* pointsSet )
|
||||
max_r_scale = cvtest::randReal(rng)*max_max_r_scale*0.01;
|
||||
angle = cvtest::randReal(rng)*360;
|
||||
|
||||
cvTsGenerateTousledBlob( center, axes, max_r_scale, angle, pointsSet, rng );
|
||||
cvTsGenerateTousledBlob( cvPoint2D32f(center), cvSize2D32f(axes), max_r_scale, angle, pointsSet, rng );
|
||||
|
||||
if( points1 )
|
||||
points1->flags = CV_SEQ_MAGIC_VAL + CV_SEQ_POLYGON;
|
||||
@@ -1811,7 +1823,7 @@ void CV_ContourMomentsTest::run_func()
|
||||
}
|
||||
else
|
||||
{
|
||||
moments = (CvMoments)cv::moments(cv::cvarrToMat(points));
|
||||
moments = cvMoments(cv::moments(cv::cvarrToMat(points)));
|
||||
area = cv::contourArea(cv::cvarrToMat(points));
|
||||
}
|
||||
}
|
||||
@@ -1904,13 +1916,13 @@ void CV_PerimeterAreaSliceTest::run( int )
|
||||
cvClearMemStorage(storage);
|
||||
CvSeq* contour = cvCreateSeq(CV_SEQ_POLYGON, sizeof(CvSeq), sizeof(CvPoint), storage);
|
||||
double dphi = CV_PI*2/n;
|
||||
CvPoint center;
|
||||
Point center;
|
||||
center.x = rng.uniform(cvCeil(max_r), cvFloor(640-max_r));
|
||||
center.y = rng.uniform(cvCeil(max_r), cvFloor(480-max_r));
|
||||
|
||||
for( int j = 0; j < n; j++ )
|
||||
{
|
||||
CvPoint pt;
|
||||
CvPoint pt = CV_STRUCT_INITIALIZER;
|
||||
double r = rng.uniform(min_r, max_r);
|
||||
double phi = j*dphi;
|
||||
pt.x = cvRound(center.x + r*cos(phi));
|
||||
@@ -1918,7 +1930,7 @@ void CV_PerimeterAreaSliceTest::run( int )
|
||||
cvSeqPush(contour, &pt);
|
||||
}
|
||||
|
||||
CvSlice slice;
|
||||
CvSlice slice = {0, 0};
|
||||
for(;;)
|
||||
{
|
||||
slice.start_index = rng.uniform(-n/2, 3*n/2);
|
||||
|
||||
@@ -275,7 +275,7 @@ cvTsDistTransform( const CvMat* _src, CvMat* _dst, int dist_type,
|
||||
|
||||
void CV_DisTransTest::prepare_to_validation( int /*test_case_idx*/ )
|
||||
{
|
||||
CvMat _input = test_mat[INPUT][0], _output = test_mat[REF_OUTPUT][0];
|
||||
CvMat _input = cvMat(test_mat[INPUT][0]), _output = cvMat(test_mat[REF_OUTPUT][0]);
|
||||
|
||||
cvTsDistTransform( &_input, &_output, dist_type, mask_size, mask, 0 );
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ void CV_DrawingTest_C::draw( Mat& _img )
|
||||
{
|
||||
CvSize imgSize = cvSize(600, 400);
|
||||
_img.create( imgSize, CV_8UC3 );
|
||||
CvMat img = _img;
|
||||
CvMat img = cvMat(_img);
|
||||
|
||||
vector<CvPoint> polyline(4);
|
||||
polyline[0] = cvPoint(0, 0);
|
||||
@@ -282,7 +282,7 @@ void CV_DrawingTest_C::draw( Mat& _img )
|
||||
if( cvClipLine(imgSize, &p1, &p2) )
|
||||
cvCircle( &img, cvPoint(390,100), 10, cvScalar(0,0,255), 3 ); // not draw
|
||||
|
||||
p1 = Point(imgSize.width-1,1), p2 = Point(imgSize.width,3);
|
||||
p1 = cvPoint(imgSize.width-1,1), p2 = cvPoint(imgSize.width,3);
|
||||
if( cvClipLine(imgSize, &p1, &p2) )
|
||||
cvEllipse( &img, cvPoint(390,100), cvSize(20,30), 60, 0, 220.0, cvScalar(0,200,0), 4 ); //draw
|
||||
|
||||
@@ -292,7 +292,7 @@ void CV_DrawingTest_C::draw( Mat& _img )
|
||||
box.size.width = 200;
|
||||
box.size.height = 100;
|
||||
box.angle = 160;
|
||||
cvEllipseBox( &img, box, Scalar(200,200,255), 5 );
|
||||
cvEllipseBox( &img, box, cvScalar(200,200,255), 5 );
|
||||
|
||||
polyline.resize(9);
|
||||
pts = &polyline[0];
|
||||
@@ -311,7 +311,7 @@ void CV_DrawingTest_C::draw( Mat& _img )
|
||||
n = (int)polyline.size();
|
||||
actualSize = cvEllipse2Poly( cvPoint(500,300), cvSize(50,80), 0, 0, 180, &polyline[0], 10 );
|
||||
CV_Assert(actualSize == n);
|
||||
cvPolyLine( &img, &pts, &n, 1, true, Scalar(100,200,100), 20 );
|
||||
cvPolyLine( &img, &pts, &n, 1, true, cvScalar(100,200,100), 20 );
|
||||
cvFillConvexPoly( &img, pts, n, cvScalar(0, 80, 0) );
|
||||
|
||||
polyline.resize(8);
|
||||
@@ -335,7 +335,7 @@ void CV_DrawingTest_C::draw( Mat& _img )
|
||||
CvFont font;
|
||||
cvInitFont( &font, FONT_HERSHEY_SCRIPT_SIMPLEX, 2, 2, 0, 3 );
|
||||
int baseline = 0;
|
||||
CvSize textSize;
|
||||
CvSize textSize = {0, 0};
|
||||
cvGetTextSize( text1.c_str(), &font, &textSize, &baseline );
|
||||
baseline += font.thickness;
|
||||
CvPoint textOrg = cvPoint((imgSize.width - textSize.width)/2, (imgSize.height + textSize.height)/2);
|
||||
@@ -398,7 +398,7 @@ void CV_DrawingTest_C::draw( Mat& _img )
|
||||
int CV_DrawingTest_C::checkLineIterator( Mat& _img )
|
||||
{
|
||||
CvLineIterator it;
|
||||
CvMat img = _img;
|
||||
CvMat img = cvMat(_img);
|
||||
int count = cvInitLineIterator( &img, cvPoint(0,300), cvPoint(1000, 300), &it );
|
||||
for(int i = 0; i < count; i++ )
|
||||
{
|
||||
|
||||
@@ -53,8 +53,8 @@ protected:
|
||||
int read_params( CvFileStorage* fs );
|
||||
void get_test_array_types_and_sizes( int test_case_idx, vector<vector<Size> >& sizes, vector<vector<int> >& types );
|
||||
void get_minmax_bounds( int i, int j, int type, Scalar& low, Scalar& high );
|
||||
CvSize aperture_size;
|
||||
CvPoint anchor;
|
||||
Size aperture_size;
|
||||
Point anchor;
|
||||
int max_aperture_size;
|
||||
bool fp_kernel;
|
||||
bool inplace;
|
||||
@@ -70,8 +70,8 @@ CV_FilterBaseTest::CV_FilterBaseTest( bool _fp_kernel ) : fp_kernel(_fp_kernel)
|
||||
test_array[REF_OUTPUT].push_back(NULL);
|
||||
max_aperture_size = 13;
|
||||
inplace = false;
|
||||
aperture_size = cvSize(0,0);
|
||||
anchor = cvPoint(0,0);
|
||||
aperture_size = Size(0,0);
|
||||
anchor = Point(0,0);
|
||||
element_wise_relative_error = false;
|
||||
}
|
||||
|
||||
@@ -420,9 +420,9 @@ double CV_FilterTest::get_success_error_level( int /*test_case_idx*/, int /*i*/,
|
||||
|
||||
void CV_FilterTest::run_func()
|
||||
{
|
||||
CvMat kernel = test_mat[INPUT][1];
|
||||
CvMat kernel = cvMat(test_mat[INPUT][1]);
|
||||
cvFilter2D( test_array[inplace ? OUTPUT : INPUT][0],
|
||||
test_array[OUTPUT][0], &kernel, anchor );
|
||||
test_array[OUTPUT][0], &kernel, cvPoint(anchor));
|
||||
}
|
||||
|
||||
|
||||
@@ -1119,7 +1119,7 @@ void CV_PyramidBaseTest::get_test_array_types_and_sizes( int test_case_idx,
|
||||
const int depthes[] = {CV_8U, CV_16S, CV_16U, CV_32F};
|
||||
|
||||
RNG& rng = ts->get_rng();
|
||||
CvSize sz;
|
||||
CvSize sz = {0, 0};
|
||||
CV_FilterBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
|
||||
int depth = depthes[cvtest::randInt(rng) % (sizeof(depthes)/sizeof(depthes[0]))];
|
||||
|
||||
@@ -60,9 +60,9 @@ protected:
|
||||
void get_timing_test_array_types_and_sizes( int test_case_idx, vector<vector<Size> >& sizes, vector<vector<int> >& types
|
||||
CvSize** whole_sizes, bool *are_images );
|
||||
void print_timing_params( int test_case_idx, char* ptr, int params_left );*/
|
||||
CvPoint seed_pt;
|
||||
CvScalar new_val;
|
||||
CvScalar l_diff, u_diff;
|
||||
Point seed_pt;
|
||||
Scalar new_val;
|
||||
Scalar l_diff, u_diff;
|
||||
int connectivity;
|
||||
bool use_mask, mask_only;
|
||||
int range_type;
|
||||
@@ -115,8 +115,8 @@ void CV_FloodFillTest::get_test_array_types_and_sizes( int test_case_idx,
|
||||
sizes[INPUT_OUTPUT][1] = sizes[REF_INPUT_OUTPUT][1] = cvSize(0,0);
|
||||
else
|
||||
{
|
||||
CvSize sz = sizes[INPUT_OUTPUT][0];
|
||||
sizes[INPUT_OUTPUT][1] = sizes[REF_INPUT_OUTPUT][1] = cvSize(sz.width+2,sz.height+2);
|
||||
Size sz = sizes[INPUT_OUTPUT][0];
|
||||
sizes[INPUT_OUTPUT][1] = sizes[REF_INPUT_OUTPUT][1] = Size(sz.width+2,sz.height+2);
|
||||
}
|
||||
|
||||
seed_pt.x = cvtest::randInt(rng) % sizes[INPUT_OUTPUT][0].width;
|
||||
@@ -194,7 +194,7 @@ void CV_FloodFillTest::run_func()
|
||||
if(!test_cpp)
|
||||
{
|
||||
CvConnectedComp comp;
|
||||
cvFloodFill( test_array[INPUT_OUTPUT][0], seed_pt, new_val, l_diff, u_diff, &comp,
|
||||
cvFloodFill( test_array[INPUT_OUTPUT][0], cvPoint(seed_pt), cvScalar(new_val), cvScalar(l_diff), cvScalar(u_diff), &comp,
|
||||
flags, test_array[INPUT_OUTPUT][1] );
|
||||
odata[0] = comp.area;
|
||||
odata[1] = comp.rect.x;
|
||||
@@ -269,7 +269,7 @@ cvTsFloodFill( CvMat* _img, CvPoint seed_pt, CvScalar new_val,
|
||||
{
|
||||
Mat m_mask = cvarrToMat(mask);
|
||||
cvtest::set( m_mask, Scalar::all(0), Mat() );
|
||||
cvRectangle( mask, cvPoint(0,0), cvPoint(mask->cols-1,mask->rows-1), Scalar::all(1.), 1, 8, 0 );
|
||||
cvRectangle( mask, cvPoint(0,0), cvPoint(mask->cols-1,mask->rows-1), cvScalar(Scalar::all(1.)), 1, 8, 0 );
|
||||
}
|
||||
|
||||
new_mask_val = (new_mask_val != 0 ? new_mask_val : 1) << 8;
|
||||
@@ -515,9 +515,9 @@ _exit_:
|
||||
void CV_FloodFillTest::prepare_to_validation( int /*test_case_idx*/ )
|
||||
{
|
||||
double* comp = test_mat[REF_OUTPUT][0].ptr<double>();
|
||||
CvMat _input = test_mat[REF_INPUT_OUTPUT][0];
|
||||
CvMat _mask = test_mat[REF_INPUT_OUTPUT][1];
|
||||
cvTsFloodFill( &_input, seed_pt, new_val, l_diff, u_diff,
|
||||
CvMat _input = cvMat(test_mat[REF_INPUT_OUTPUT][0]);
|
||||
CvMat _mask = cvMat(test_mat[REF_INPUT_OUTPUT][1]);
|
||||
cvTsFloodFill( &_input, cvPoint(seed_pt), cvScalar(new_val), cvScalar(l_diff), cvScalar(u_diff),
|
||||
_mask.data.ptr ? &_mask : 0,
|
||||
comp, connectivity, range_type,
|
||||
new_mask_val, mask_only );
|
||||
|
||||
@@ -1729,15 +1729,15 @@ int CV_CalcBackProjectPatchTest::prepare_test_case( int test_case_idx )
|
||||
|
||||
void CV_CalcBackProjectPatchTest::run_func(void)
|
||||
{
|
||||
CvMat dst(images[CV_MAX_DIM]);
|
||||
CvMat dst = cvMat(images[CV_MAX_DIM]);
|
||||
vector<CvMat > img(cdims);
|
||||
vector<CvMat*> pimg(cdims);
|
||||
for(int i = 0; i < cdims; i++)
|
||||
{
|
||||
img[i] = CvMat(images[i]);
|
||||
img[i] = cvMat(images[i]);
|
||||
pimg[i] = &img[i];
|
||||
}
|
||||
cvCalcArrBackProjectPatch( (CvArr**)&pimg[0], &dst, patch_size, hist[0], method, factor );
|
||||
cvCalcArrBackProjectPatch( (CvArr**)&pimg[0], &dst, cvSize(patch_size), hist[0], method, factor );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -222,7 +222,7 @@ void CV_ResizeTest::get_test_array_types_and_sizes( int test_case_idx, vector<ve
|
||||
{
|
||||
RNG& rng = ts->get_rng();
|
||||
CV_ImgWarpBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
CvSize sz;
|
||||
Size sz;
|
||||
|
||||
sz.width = (cvtest::randInt(rng) % sizes[INPUT][0].width) + 1;
|
||||
sz.height = (cvtest::randInt(rng) % sizes[INPUT][0].height) + 1;
|
||||
@@ -272,7 +272,7 @@ double CV_ResizeTest::get_success_error_level( int /*test_case_idx*/, int /*i*/,
|
||||
|
||||
void CV_ResizeTest::prepare_to_validation( int /*test_case_idx*/ )
|
||||
{
|
||||
CvMat _src = test_mat[INPUT][0], _dst = test_mat[REF_INPUT_OUTPUT][0];
|
||||
CvMat _src = cvMat(test_mat[INPUT][0]), _dst = cvMat(test_mat[REF_INPUT_OUTPUT][0]);
|
||||
CvMat *src = &_src, *dst = &_dst;
|
||||
int i, j, k;
|
||||
CvMat* x_idx = cvCreateMat( 1, dst->cols, CV_32SC1 );
|
||||
@@ -504,17 +504,17 @@ CV_WarpAffineTest::CV_WarpAffineTest() : CV_ImgWarpBaseTest( true )
|
||||
void CV_WarpAffineTest::get_test_array_types_and_sizes( int test_case_idx, vector<vector<Size> >& sizes, vector<vector<int> >& types )
|
||||
{
|
||||
CV_ImgWarpBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
CvSize sz = sizes[INPUT][0];
|
||||
Size sz = sizes[INPUT][0];
|
||||
// run for the second time to get output of a different size
|
||||
CV_ImgWarpBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
sizes[INPUT][0] = sz;
|
||||
sizes[INPUT][1] = cvSize( 3, 2 );
|
||||
sizes[INPUT][1] = Size( 3, 2 );
|
||||
}
|
||||
|
||||
|
||||
void CV_WarpAffineTest::run_func()
|
||||
{
|
||||
CvMat mtx = test_mat[INPUT][1];
|
||||
CvMat mtx = cvMat(test_mat[INPUT][1]);
|
||||
cvWarpAffine( test_array[INPUT][0], test_array[INPUT_OUTPUT][0], &mtx, interpolation );
|
||||
}
|
||||
|
||||
@@ -533,7 +533,7 @@ int CV_WarpAffineTest::prepare_test_case( int test_case_idx )
|
||||
const Mat& src = test_mat[INPUT][0];
|
||||
const Mat& dst = test_mat[INPUT_OUTPUT][0];
|
||||
Mat& mat = test_mat[INPUT][1];
|
||||
CvPoint2D32f center;
|
||||
Point2f center;
|
||||
double scale, angle;
|
||||
|
||||
if( code <= 0 )
|
||||
@@ -615,17 +615,17 @@ CV_WarpPerspectiveTest::CV_WarpPerspectiveTest() : CV_ImgWarpBaseTest( true )
|
||||
void CV_WarpPerspectiveTest::get_test_array_types_and_sizes( int test_case_idx, vector<vector<Size> >& sizes, vector<vector<int> >& types )
|
||||
{
|
||||
CV_ImgWarpBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
CvSize sz = sizes[INPUT][0];
|
||||
Size sz = sizes[INPUT][0];
|
||||
// run for the second time to get output of a different size
|
||||
CV_ImgWarpBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
sizes[INPUT][0] = sz;
|
||||
sizes[INPUT][1] = cvSize( 3, 3 );
|
||||
sizes[INPUT][1] = Size( 3, 3 );
|
||||
}
|
||||
|
||||
|
||||
void CV_WarpPerspectiveTest::run_func()
|
||||
{
|
||||
CvMat mtx = test_mat[INPUT][1];
|
||||
CvMat mtx = cvMat(test_mat[INPUT][1]);
|
||||
cvWarpPerspective( test_array[INPUT][0], test_array[INPUT_OUTPUT][0], &mtx, interpolation );
|
||||
}
|
||||
|
||||
@@ -641,8 +641,8 @@ int CV_WarpPerspectiveTest::prepare_test_case( int test_case_idx )
|
||||
{
|
||||
RNG& rng = ts->get_rng();
|
||||
int code = CV_ImgWarpBaseTest::prepare_test_case( test_case_idx );
|
||||
const CvMat& src = test_mat[INPUT][0];
|
||||
const CvMat& dst = test_mat[INPUT_OUTPUT][0];
|
||||
const CvMat src = cvMat(test_mat[INPUT][0]);
|
||||
const CvMat dst = cvMat(test_mat[INPUT_OUTPUT][0]);
|
||||
Mat& mat = test_mat[INPUT][1];
|
||||
Point2f s[4], d[4];
|
||||
int i;
|
||||
@@ -880,7 +880,7 @@ void CV_UndistortTest::run_func()
|
||||
{
|
||||
if (!useCPlus)
|
||||
{
|
||||
CvMat a = test_mat[INPUT][1], k = test_mat[INPUT][2];
|
||||
CvMat a = cvMat(test_mat[INPUT][1]), k = cvMat(test_mat[INPUT][2]);
|
||||
cvUndistort2( test_array[INPUT][0], test_array[INPUT_OUTPUT][0], &a, &k);
|
||||
}
|
||||
else
|
||||
@@ -1024,7 +1024,7 @@ void CV_UndistortMapTest::get_test_array_types_and_sizes( int test_case_idx, vec
|
||||
cvtest::ArrayTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
int depth = cvtest::randInt(rng)%2 ? CV_64F : CV_32F;
|
||||
|
||||
CvSize sz = sizes[OUTPUT][0];
|
||||
Size sz = sizes[OUTPUT][0];
|
||||
types[INPUT][0] = types[INPUT][1] = depth;
|
||||
dualChannel = cvtest::randInt(rng)%2 == 0;
|
||||
types[OUTPUT][0] = types[OUTPUT][1] =
|
||||
@@ -1048,7 +1048,7 @@ void CV_UndistortMapTest::fill_array( int test_case_idx, int i, int j, Mat& arr
|
||||
|
||||
void CV_UndistortMapTest::run_func()
|
||||
{
|
||||
CvMat a = test_mat[INPUT][0], k = test_mat[INPUT][1];
|
||||
CvMat a = cvMat(test_mat[INPUT][0]), k = cvMat(test_mat[INPUT][1]);
|
||||
|
||||
if (!dualChannel )
|
||||
cvInitUndistortMap( &a, &k, test_array[OUTPUT][0], test_array[OUTPUT][1] );
|
||||
@@ -1189,7 +1189,7 @@ void CV_GetRectSubPixTest::get_test_array_types_and_sizes( int test_case_idx, ve
|
||||
CV_ImgWarpBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
int src_depth = cvtest::randInt(rng) % 2, dst_depth;
|
||||
int cn = cvtest::randInt(rng) % 2 ? 3 : 1;
|
||||
CvSize src_size, dst_size;
|
||||
Size src_size, dst_size;
|
||||
|
||||
dst_depth = src_depth = src_depth == 0 ? CV_8U : CV_32F;
|
||||
if( src_depth < CV_32F && cvtest::randInt(rng) % 2 )
|
||||
@@ -1293,7 +1293,7 @@ void CV_GetQuadSubPixTest::get_test_array_types_and_sizes( int test_case_idx, ve
|
||||
{
|
||||
int min_size = 4;
|
||||
CV_ImgWarpBaseTest::get_test_array_types_and_sizes( test_case_idx, sizes, types );
|
||||
CvSize sz = sizes[INPUT][0], dsz;
|
||||
Size sz = sizes[INPUT][0], dsz;
|
||||
RNG& rng = ts->get_rng();
|
||||
int msz, src_depth = cvtest::randInt(rng) % 2, dst_depth;
|
||||
int cn = cvtest::randInt(rng) % 2 ? 3 : 1;
|
||||
@@ -1323,7 +1323,7 @@ void CV_GetQuadSubPixTest::get_test_array_types_and_sizes( int test_case_idx, ve
|
||||
|
||||
void CV_GetQuadSubPixTest::run_func()
|
||||
{
|
||||
CvMat mtx = test_mat[INPUT][1];
|
||||
CvMat mtx = cvMat(test_mat[INPUT][1]);
|
||||
cvGetQuadrangleSubPix( test_array[INPUT][0], test_array[INPUT_OUTPUT][0], &mtx );
|
||||
}
|
||||
|
||||
@@ -1343,7 +1343,7 @@ int CV_GetQuadSubPixTest::prepare_test_case( int test_case_idx )
|
||||
int code = CV_ImgWarpBaseTest::prepare_test_case( test_case_idx );
|
||||
const Mat& src = test_mat[INPUT][0];
|
||||
Mat& mat = test_mat[INPUT][1];
|
||||
CvPoint2D32f center;
|
||||
Point2f center;
|
||||
double scale, angle;
|
||||
|
||||
if( code <= 0 )
|
||||
|
||||
@@ -161,7 +161,7 @@ void CV_MomentsTest::run_func()
|
||||
ttime += (double)getTickCount() - t;
|
||||
ncalls++;
|
||||
printf("%g\n", ttime/ncalls/u.total()));
|
||||
*m = new_m;
|
||||
*m = cvMoments(new_m);
|
||||
}
|
||||
else
|
||||
cvMoments( test_array[INPUT][0], m, is_binary );
|
||||
@@ -179,22 +179,13 @@ void CV_MomentsTest::run_func()
|
||||
void CV_MomentsTest::prepare_to_validation( int /*test_case_idx*/ )
|
||||
{
|
||||
Mat& src = test_mat[INPUT][0];
|
||||
CvMoments m;
|
||||
CvMoments m = cvMoments();
|
||||
double* mdata = test_mat[REF_OUTPUT][0].ptr<double>();
|
||||
int depth = src.depth();
|
||||
int cn = src.channels();
|
||||
int i, y, x, cols = src.cols;
|
||||
double xc = 0., yc = 0.;
|
||||
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wclass-memaccess"
|
||||
#endif
|
||||
memset( &m, 0, sizeof(m));
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
int coi = 0;
|
||||
for( y = 0; y < src.rows; y++ )
|
||||
{
|
||||
|
||||
@@ -151,7 +151,7 @@ static void cvTsMatchTemplate( const CvMat* img, const CvMat* templ, CvMat* resu
|
||||
int width_n = templ->cols*cn, height = templ->rows;
|
||||
int a_step = img->step / CV_ELEM_SIZE(img->type & CV_MAT_DEPTH_MASK);
|
||||
int b_step = templ->step / CV_ELEM_SIZE(templ->type & CV_MAT_DEPTH_MASK);
|
||||
CvScalar b_mean, b_sdv;
|
||||
CvScalar b_mean = CV_STRUCT_INITIALIZER, b_sdv = CV_STRUCT_INITIALIZER;
|
||||
double b_denom = 1., b_sum2 = 0;
|
||||
int area = templ->rows*templ->cols;
|
||||
|
||||
@@ -191,8 +191,8 @@ static void cvTsMatchTemplate( const CvMat* img, const CvMat* templ, CvMat* resu
|
||||
{
|
||||
for( j = 0; j < result->cols; j++ )
|
||||
{
|
||||
CvScalar a_sum(0), a_sum2(0);
|
||||
CvScalar ccorr(0);
|
||||
Scalar a_sum(0), a_sum2(0);
|
||||
Scalar ccorr(0);
|
||||
double value = 0.;
|
||||
|
||||
if( depth == CV_8U )
|
||||
@@ -308,8 +308,8 @@ static void cvTsMatchTemplate( const CvMat* img, const CvMat* templ, CvMat* resu
|
||||
|
||||
void CV_TemplMatchTest::prepare_to_validation( int /*test_case_idx*/ )
|
||||
{
|
||||
CvMat _input = test_mat[INPUT][0], _templ = test_mat[INPUT][1];
|
||||
CvMat _output = test_mat[REF_OUTPUT][0];
|
||||
CvMat _input = cvMat(test_mat[INPUT][0]), _templ = cvMat(test_mat[INPUT][1]);
|
||||
CvMat _output = cvMat(test_mat[REF_OUTPUT][0]);
|
||||
cvTsMatchTemplate( &_input, &_templ, &_output, method );
|
||||
|
||||
//if( ts->get_current_test_info()->test_case_idx == 0 )
|
||||
|
||||
@@ -73,12 +73,12 @@ void CV_WatershedTest::run( int /* start_from */)
|
||||
|
||||
Mat markers(orig.size(), CV_32SC1);
|
||||
markers = Scalar(0);
|
||||
IplImage iplmrks = markers;
|
||||
IplImage iplmrks = cvIplImage(markers);
|
||||
|
||||
vector<unsigned char> colors(1);
|
||||
for(int i = 0; cnts != 0; cnts = cnts->h_next, ++i )
|
||||
{
|
||||
cvDrawContours( &iplmrks, cnts, Scalar::all(i + 1), Scalar::all(i + 1), -1, CV_FILLED);
|
||||
cvDrawContours( &iplmrks, cnts, cvScalar(Scalar::all(i + 1)), cvScalar(Scalar::all(i + 1)), -1, CV_FILLED);
|
||||
Point* p = (Point*)cvGetSeqElem(cnts, 0);
|
||||
|
||||
//expected image was added with 1 in order to save to png
|
||||
|
||||
Reference in New Issue
Block a user