don't use constructors for C API structures
This commit is contained in:
@@ -135,7 +135,7 @@ CvSeq* icvApproximateChainTC89( CvChain* chain, int header_size,
|
||||
Determines support region for all the remained points */
|
||||
do
|
||||
{
|
||||
CvPoint pt0;
|
||||
cv::Point2i pt0;
|
||||
int k, l = 0, d_num = 0;
|
||||
|
||||
i = (int)(current - array);
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
(deltas)[6] = (step), (deltas)[7] = (step) + (nch))
|
||||
|
||||
static const CvPoint icvCodeDeltas[8] =
|
||||
{ CvPoint(1, 0), CvPoint(1, -1), CvPoint(0, -1), CvPoint(-1, -1), CvPoint(-1, 0), CvPoint(-1, 1), CvPoint(0, 1), CvPoint(1, 1) };
|
||||
{ {1, 0}, {1, -1}, {0, -1}, {-1, -1}, {-1, 0}, {-1, 1}, {0, 1}, {1, 1} };
|
||||
|
||||
CV_IMPL void
|
||||
cvStartReadChainPoints( CvChain * chain, CvChainPtReader * reader )
|
||||
@@ -77,19 +77,15 @@ cvStartReadChainPoints( CvChain * chain, CvChainPtReader * reader )
|
||||
CV_IMPL CvPoint
|
||||
cvReadChainPoint( CvChainPtReader * reader )
|
||||
{
|
||||
schar *ptr;
|
||||
int code;
|
||||
CvPoint pt;
|
||||
|
||||
if( !reader )
|
||||
CV_Error( CV_StsNullPtr, "" );
|
||||
|
||||
pt = reader->pt;
|
||||
cv::Point2i pt = reader->pt;
|
||||
|
||||
ptr = reader->ptr;
|
||||
if( ptr )
|
||||
schar *ptr = reader->ptr;
|
||||
if (ptr)
|
||||
{
|
||||
code = *ptr++;
|
||||
int code = *ptr++;
|
||||
|
||||
if( ptr >= reader->block_max )
|
||||
{
|
||||
@@ -104,7 +100,7 @@ cvReadChainPoint( CvChainPtReader * reader )
|
||||
reader->pt.y = pt.y + icvCodeDeltas[code].y;
|
||||
}
|
||||
|
||||
return pt;
|
||||
return cvPoint(pt);
|
||||
}
|
||||
|
||||
|
||||
@@ -209,14 +205,7 @@ cvStartFindContours_Impl( void* _img, CvMemStorage* storage,
|
||||
CV_Error( CV_StsBadSize, "" );
|
||||
|
||||
CvContourScanner scanner = (CvContourScanner)cvAlloc( sizeof( *scanner ));
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wclass-memaccess"
|
||||
#endif
|
||||
memset( scanner, 0, sizeof(*scanner) );
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
scanner->storage1 = scanner->storage2 = storage;
|
||||
scanner->img0 = (schar *) img;
|
||||
@@ -700,7 +689,7 @@ icvFetchContourEx( schar* ptr,
|
||||
int deltas[MAX_SIZE];
|
||||
CvSeqWriter writer;
|
||||
schar *i0 = ptr, *i1, *i3, *i4 = NULL;
|
||||
CvRect rect;
|
||||
cv::Rect rect;
|
||||
int prev_s = -1, s, s_end;
|
||||
int method = _method - 1;
|
||||
|
||||
@@ -810,14 +799,14 @@ icvFetchContourEx( schar* ptr,
|
||||
cvEndWriteSeq( &writer );
|
||||
|
||||
if( _method != CV_CHAIN_CODE )
|
||||
((CvContour*)contour)->rect = rect;
|
||||
((CvContour*)contour)->rect = cvRect(rect);
|
||||
|
||||
CV_DbgAssert( (writer.seq->total == 0 && writer.seq->first == 0) ||
|
||||
writer.seq->total > writer.seq->first->count ||
|
||||
(writer.seq->first->prev == writer.seq->first &&
|
||||
writer.seq->first->next == writer.seq->first) );
|
||||
|
||||
if( _rect ) *_rect = rect;
|
||||
if( _rect ) *_rect = cvRect(rect);
|
||||
}
|
||||
|
||||
|
||||
@@ -888,7 +877,7 @@ icvFetchContourEx_32s( int* ptr,
|
||||
int deltas[MAX_SIZE];
|
||||
CvSeqWriter writer;
|
||||
int *i0 = ptr, *i1, *i3, *i4;
|
||||
CvRect rect;
|
||||
cv::Rect rect;
|
||||
int prev_s = -1, s, s_end;
|
||||
int method = _method - 1;
|
||||
const int right_flag = INT_MIN;
|
||||
@@ -1000,14 +989,14 @@ icvFetchContourEx_32s( int* ptr,
|
||||
cvEndWriteSeq( &writer );
|
||||
|
||||
if( _method != CV_CHAIN_CODE )
|
||||
((CvContour*)contour)->rect = rect;
|
||||
((CvContour*)contour)->rect = cvRect(rect);
|
||||
|
||||
CV_DbgAssert( (writer.seq->total == 0 && writer.seq->first == 0) ||
|
||||
writer.seq->total > writer.seq->first->count ||
|
||||
(writer.seq->first->prev == writer.seq->first &&
|
||||
writer.seq->first->next == writer.seq->first) );
|
||||
|
||||
if( _rect ) *_rect = rect;
|
||||
if (_rect) *_rect = cvRect(rect);
|
||||
}
|
||||
|
||||
|
||||
@@ -1035,7 +1024,7 @@ cvFindNextContour( CvContourScanner scanner )
|
||||
int width = scanner->img_size.width;
|
||||
int height = scanner->img_size.height;
|
||||
int mode = scanner->mode;
|
||||
CvPoint lnbd = scanner->lnbd;
|
||||
cv::Point2i lnbd = scanner->lnbd;
|
||||
int nbd = scanner->nbd;
|
||||
int prev = img[x - 1];
|
||||
int new_mask = -2;
|
||||
@@ -1125,7 +1114,7 @@ cvFindNextContour( CvContourScanner scanner )
|
||||
_CvContourInfo *par_info = 0;
|
||||
CvSeq *seq = 0;
|
||||
int is_hole = 0;
|
||||
CvPoint origin;
|
||||
cv::Point2i origin;
|
||||
|
||||
/* if not external contour */
|
||||
if( (!img_i && !(prev == 0 && p == 1)) ||
|
||||
@@ -1259,7 +1248,7 @@ cvFindNextContour( CvContourScanner scanner )
|
||||
|
||||
l_cinfo->is_hole = is_hole;
|
||||
l_cinfo->contour = seq;
|
||||
l_cinfo->origin = origin;
|
||||
l_cinfo->origin = cvPoint(origin);
|
||||
l_cinfo->parent = par_info;
|
||||
|
||||
if( scanner->approx_method1 != scanner->approx_method2 )
|
||||
@@ -1292,7 +1281,7 @@ cvFindNextContour( CvContourScanner scanner )
|
||||
scanner->l_cinfo = l_cinfo;
|
||||
scanner->pt.x = !img_i ? x + 1 : x + 1 - is_hole;
|
||||
scanner->pt.y = y;
|
||||
scanner->lnbd = lnbd;
|
||||
scanner->lnbd = cvPoint(lnbd);
|
||||
scanner->img = (schar *) img;
|
||||
scanner->nbd = nbd;
|
||||
return l_cinfo->contour;
|
||||
@@ -1480,7 +1469,7 @@ icvFindContoursInInterval( const CvArr* src,
|
||||
|
||||
uchar* src_data = 0;
|
||||
int img_step = 0;
|
||||
CvSize img_size;
|
||||
cv::Size img_size;
|
||||
|
||||
int connect_flag;
|
||||
int lower_total;
|
||||
@@ -1529,7 +1518,7 @@ icvFindContoursInInterval( const CvArr* src,
|
||||
CV_Error( CV_StsBadArg, "Input array must be 8uC1 or 8sC1" );
|
||||
src_data = mat->data.ptr;
|
||||
img_step = mat->step;
|
||||
img_size = cvGetMatSize( mat );
|
||||
img_size = cvGetMatSize(mat);
|
||||
|
||||
// Create temporary sequences
|
||||
runs = cvCreateSeq(0, sizeof(CvSeq), sizeof(CvLinkedRunPoint), storage00 );
|
||||
@@ -1550,7 +1539,7 @@ icvFindContoursInInterval( const CvArr* src,
|
||||
tmp_prev = upper_line;
|
||||
for( j = 0; j < img_size.width; )
|
||||
{
|
||||
j = findStartContourPoint(src_data, img_size, j, haveSIMD);
|
||||
j = findStartContourPoint(src_data, cvSize(img_size), j, haveSIMD);
|
||||
|
||||
if( j == img_size.width )
|
||||
break;
|
||||
@@ -1560,7 +1549,7 @@ icvFindContoursInInterval( const CvArr* src,
|
||||
tmp_prev->next = (CvLinkedRunPoint*)CV_GET_WRITTEN_ELEM( writer );
|
||||
tmp_prev = tmp_prev->next;
|
||||
|
||||
j = findEndContourPoint(src_data, img_size, j + 1, haveSIMD);
|
||||
j = findEndContourPoint(src_data, cvSize(img_size), j + 1, haveSIMD);
|
||||
|
||||
tmp.pt.x = j - 1;
|
||||
CV_WRITE_SEQ_ELEM( tmp, writer );
|
||||
@@ -1584,7 +1573,7 @@ icvFindContoursInInterval( const CvArr* src,
|
||||
all_total = runs->total;
|
||||
for( j = 0; j < img_size.width; )
|
||||
{
|
||||
j = findStartContourPoint(src_data, img_size, j, haveSIMD);
|
||||
j = findStartContourPoint(src_data, cvSize(img_size), j, haveSIMD);
|
||||
|
||||
if( j == img_size.width ) break;
|
||||
|
||||
@@ -1593,7 +1582,7 @@ icvFindContoursInInterval( const CvArr* src,
|
||||
tmp_prev->next = (CvLinkedRunPoint*)CV_GET_WRITTEN_ELEM( writer );
|
||||
tmp_prev = tmp_prev->next;
|
||||
|
||||
j = findEndContourPoint(src_data, img_size, j + 1, haveSIMD);
|
||||
j = findEndContourPoint(src_data, cvSize(img_size), j + 1, haveSIMD);
|
||||
|
||||
tmp.pt.x = j - 1;
|
||||
CV_WRITE_SEQ_ELEM( tmp, writer );
|
||||
@@ -1908,11 +1897,11 @@ void cv::findContours( InputOutputArray _image, OutputArrayOfArrays _contours,
|
||||
image = image0;
|
||||
}
|
||||
MemStorage storage(cvCreateMemStorage());
|
||||
CvMat _cimage = image;
|
||||
CvMat _cimage = cvMat(image);
|
||||
CvSeq* _ccontours = 0;
|
||||
if( _hierarchy.needed() )
|
||||
_hierarchy.clear();
|
||||
cvFindContours_Impl(&_cimage, storage, &_ccontours, sizeof(CvContour), mode, method, offset + offset0, 0);
|
||||
cvFindContours_Impl(&_cimage, storage, &_ccontours, sizeof(CvContour), mode, method, cvPoint(offset0 + offset), 0);
|
||||
if( !_ccontours )
|
||||
{
|
||||
_contours.clear();
|
||||
|
||||
@@ -2479,7 +2479,7 @@ void cv::drawContours( InputOutputArray _image, InputArrayOfArrays _contours,
|
||||
CV_INSTRUMENT_REGION()
|
||||
|
||||
Mat image = _image.getMat(), hierarchy = _hierarchy.getMat();
|
||||
CvMat _cimage = image;
|
||||
CvMat _cimage = cvMat(image);
|
||||
|
||||
size_t ncontours = _contours.total();
|
||||
size_t i = 0, first = 0, last = ncontours;
|
||||
@@ -2548,8 +2548,8 @@ void cv::drawContours( InputOutputArray _image, InputArrayOfArrays _contours,
|
||||
}
|
||||
}
|
||||
|
||||
cvDrawContours( &_cimage, &seq[first], color, color, contourIdx >= 0 ?
|
||||
-maxLevel : maxLevel, thickness, lineType, offset );
|
||||
cvDrawContours( &_cimage, &seq[first], cvScalar(color), cvScalar(color), contourIdx >= 0 ?
|
||||
-maxLevel : maxLevel, thickness, lineType, cvPoint(offset) );
|
||||
}
|
||||
|
||||
|
||||
@@ -2560,11 +2560,6 @@ static const int CodeDeltas[8][2] =
|
||||
#define CV_ADJUST_EDGE_COUNT( count, seq ) \
|
||||
((count) -= ((count) == (seq)->total && !CV_IS_SEQ_CLOSED(seq)))
|
||||
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wclass-memaccess"
|
||||
#endif
|
||||
|
||||
CV_IMPL void
|
||||
cvDrawContours( void* _img, CvSeq* contour,
|
||||
CvScalar _externalColor, CvScalar _holeColor,
|
||||
@@ -2658,14 +2653,14 @@ cvDrawContours( void* _img, CvSeq* contour,
|
||||
int shift = 0;
|
||||
|
||||
count -= !CV_IS_SEQ_CLOSED(contour);
|
||||
CV_READ_SEQ_ELEM( pt1, reader );
|
||||
{ CvPoint pt_ = CV_STRUCT_INITIALIZER; CV_READ_SEQ_ELEM(pt_, reader); pt1 = pt_; }
|
||||
pt1 += offset;
|
||||
if( thickness < 0 )
|
||||
pts.push_back(pt1);
|
||||
|
||||
for( i = 0; i < count; i++ )
|
||||
{
|
||||
CV_READ_SEQ_ELEM( pt2, reader );
|
||||
{ CvPoint pt_ = CV_STRUCT_INITIALIZER; CV_READ_SEQ_ELEM(pt_, reader); pt2 = pt_; }
|
||||
pt2 += offset;
|
||||
if( thickness >= 0 )
|
||||
cv::ThickLine( img, pt1, pt2, clr, thickness, line_type, 2, shift );
|
||||
@@ -2707,7 +2702,7 @@ cvEllipse2Poly( CvPoint center, CvSize axes, int angle,
|
||||
CV_IMPL CvScalar
|
||||
cvColorToScalar( double packed_color, int type )
|
||||
{
|
||||
CvScalar scalar;
|
||||
cv::Scalar scalar;
|
||||
|
||||
if( CV_MAT_DEPTH( type ) == CV_8U )
|
||||
{
|
||||
@@ -2765,7 +2760,7 @@ cvColorToScalar( double packed_color, int type )
|
||||
}
|
||||
}
|
||||
|
||||
return scalar;
|
||||
return cvScalar(scalar);
|
||||
}
|
||||
|
||||
CV_IMPL int
|
||||
@@ -2893,11 +2888,7 @@ cvGetTextSize( const char *text, const CvFont *_font, CvSize *_size, int *_base_
|
||||
cv::Size size = cv::getTextSize( text, _font->font_face, (_font->hscale + _font->vscale)*0.5,
|
||||
_font->thickness, _base_line );
|
||||
if( _size )
|
||||
*_size = size;
|
||||
*_size = cvSize(size);
|
||||
}
|
||||
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic pop // "-Wclass-memaccess"
|
||||
#endif
|
||||
|
||||
/* End of file. */
|
||||
|
||||
@@ -1156,15 +1156,15 @@ float cv::EMD( InputArray _signature1, InputArray _signature2,
|
||||
Mat signature1 = _signature1.getMat(), signature2 = _signature2.getMat();
|
||||
Mat cost = _cost.getMat(), flow;
|
||||
|
||||
CvMat _csignature1 = signature1;
|
||||
CvMat _csignature2 = signature2;
|
||||
CvMat _ccost = cost, _cflow;
|
||||
CvMat _csignature1 = cvMat(signature1);
|
||||
CvMat _csignature2 = cvMat(signature2);
|
||||
CvMat _ccost = cvMat(cost), _cflow;
|
||||
if( _flow.needed() )
|
||||
{
|
||||
_flow.create(signature1.rows, signature2.rows, CV_32F);
|
||||
flow = _flow.getMat();
|
||||
flow = Scalar::all(0);
|
||||
_cflow = flow;
|
||||
_cflow = cvMat(flow);
|
||||
}
|
||||
|
||||
return cvCalcEMD2( &_csignature1, &_csignature2, distType, 0, cost.empty() ? 0 : &_ccost,
|
||||
|
||||
@@ -534,7 +534,7 @@ cvGoodFeaturesToTrack( const void* _image, void*, void*,
|
||||
|
||||
size_t i, ncorners = corners.size();
|
||||
for( i = 0; i < ncorners; i++ )
|
||||
_corners[i] = corners[i];
|
||||
_corners[i] = cvPoint2D32f(corners[i]);
|
||||
*_corner_count = (int)ncorners;
|
||||
}
|
||||
|
||||
|
||||
@@ -641,15 +641,8 @@ cvFloodFill( CvArr* arr, CvPoint seed_point,
|
||||
CvScalar newVal, CvScalar lo_diff, CvScalar up_diff,
|
||||
CvConnectedComp* comp, int flags, CvArr* maskarr )
|
||||
{
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wclass-memaccess"
|
||||
#endif
|
||||
if( comp )
|
||||
memset( comp, 0, sizeof(*comp) );
|
||||
#if defined __GNUC__ && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
cv::Mat img = cv::cvarrToMat(arr), mask = cv::cvarrToMat(maskarr);
|
||||
int area = cv::floodFill(img, mask, seed_point, newVal,
|
||||
|
||||
@@ -46,7 +46,7 @@ cvMaxRect( const CvRect* rect1, const CvRect* rect2 )
|
||||
{
|
||||
if( rect1 && rect2 )
|
||||
{
|
||||
CvRect max_rect;
|
||||
cv::Rect max_rect;
|
||||
int a, b;
|
||||
|
||||
max_rect.x = a = rect1->x;
|
||||
@@ -72,7 +72,7 @@ cvMaxRect( const CvRect* rect1, const CvRect* rect2 )
|
||||
if( max_rect.height < b )
|
||||
max_rect.height = b;
|
||||
max_rect.height -= max_rect.y;
|
||||
return max_rect;
|
||||
return cvRect(max_rect);
|
||||
}
|
||||
else if( rect1 )
|
||||
return *rect1;
|
||||
|
||||
@@ -2445,7 +2445,7 @@ cvGetMinMaxHistValue( const CvHistogram* hist,
|
||||
if( !CV_IS_SPARSE_HIST(hist) )
|
||||
{
|
||||
CvMat mat;
|
||||
CvPoint minPt, maxPt;
|
||||
CvPoint minPt = {0, 0}, maxPt = {0, 0};
|
||||
|
||||
cvGetMat( hist->bins, &mat, 0, 1 );
|
||||
cvMinMaxLoc( &mat, &minVal, &maxVal, &minPt, &maxPt );
|
||||
@@ -2969,7 +2969,7 @@ cvCalcArrBackProjectPatch( CvArr** arr, CvArr* dst, CvSize patch_size, CvHistogr
|
||||
CvMat dststub, *dstmat;
|
||||
int i, dims;
|
||||
int x, y;
|
||||
CvSize size;
|
||||
cv::Size size;
|
||||
|
||||
if( !CV_IS_HIST(hist))
|
||||
CV_Error( CV_StsBadArg, "Bad histogram pointer" );
|
||||
|
||||
@@ -815,7 +815,7 @@ CV_IMPL void cvMoments( const CvArr* arr, CvMoments* moments, int binary )
|
||||
src = cv::cvarrToMat(arr);
|
||||
cv::Moments m = cv::moments(src, binary != 0);
|
||||
CV_Assert( moments != 0 );
|
||||
*moments = m;
|
||||
*moments = cvMoments(m);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1683,7 +1683,7 @@ cvCreatePyramid( const CvArr* srcarr, int extra_layers, double rate,
|
||||
CV_Error( CV_StsOutOfRange, "The number of extra layers must be non negative" );
|
||||
|
||||
int i, layer_step, elem_size = CV_ELEM_SIZE(src->type);
|
||||
CvSize layer_size, size = cvGetMatSize(src);
|
||||
cv::Size layer_size, size = cvGetMatSize(src);
|
||||
|
||||
if( bufarr )
|
||||
{
|
||||
|
||||
@@ -401,7 +401,7 @@ cvMinAreaRect2( const CvArr* array, CvMemStorage* /*storage*/ )
|
||||
cv::Mat points = cv::cvarrToMat(array, false, false, 0, &abuf);
|
||||
|
||||
cv::RotatedRect rr = cv::minAreaRect(points);
|
||||
return (CvBox2D)rr;
|
||||
return cvBox2D(rr);
|
||||
}
|
||||
|
||||
void cv::boxPoints(cv::RotatedRect box, OutputArray _pts)
|
||||
|
||||
@@ -969,7 +969,7 @@ cvMinEnclosingCircle( const void* array, CvPoint2D32f * _center, float *_radius
|
||||
|
||||
cv::minEnclosingCircle(points, center, radius);
|
||||
if(_center)
|
||||
*_center = center;
|
||||
*_center = cvPoint2D32f(center);
|
||||
if(_radius)
|
||||
*_radius = radius;
|
||||
return 1;
|
||||
@@ -1009,8 +1009,8 @@ icvMemCopy( double **buf1, double **buf2, double **buf3, int *b_max )
|
||||
/* area of a contour sector */
|
||||
static double icvContourSecArea( CvSeq * contour, CvSlice slice )
|
||||
{
|
||||
CvPoint pt; /* pointer to points */
|
||||
CvPoint pt_s, pt_e; /* first and last points */
|
||||
cv::Point pt; /* pointer to points */
|
||||
cv::Point pt_s, pt_e; /* first and last points */
|
||||
CvSeqReader reader; /* points reader of contour */
|
||||
|
||||
int p_max = 2, p_ind;
|
||||
@@ -1044,10 +1044,10 @@ static double icvContourSecArea( CvSeq * contour, CvSlice slice )
|
||||
|
||||
cvStartReadSeq( contour, &reader, 0 );
|
||||
cvSetSeqReaderPos( &reader, slice.start_index );
|
||||
CV_READ_SEQ_ELEM( pt_s, reader );
|
||||
{ CvPoint pt_s_ = CV_STRUCT_INITIALIZER; CV_READ_SEQ_ELEM(pt_s_, reader); pt_s = pt_s_; }
|
||||
p_ind = 0;
|
||||
cvSetSeqReaderPos( &reader, slice.end_index );
|
||||
CV_READ_SEQ_ELEM( pt_e, reader );
|
||||
{ CvPoint pt_e_ = CV_STRUCT_INITIALIZER; CV_READ_SEQ_ELEM(pt_e_, reader); pt_e = pt_e_; }
|
||||
|
||||
/* normal coefficients */
|
||||
nx = pt_s.y - pt_e.y;
|
||||
@@ -1056,7 +1056,7 @@ static double icvContourSecArea( CvSeq * contour, CvSlice slice )
|
||||
|
||||
while( lpt-- > 0 )
|
||||
{
|
||||
CV_READ_SEQ_ELEM( pt, reader );
|
||||
{ CvPoint pt_ = CV_STRUCT_INITIALIZER; CV_READ_SEQ_ELEM(pt_, reader); pt = pt_; }
|
||||
|
||||
if( flag == 0 )
|
||||
{
|
||||
@@ -1294,14 +1294,14 @@ cvFitEllipse2( const CvArr* array )
|
||||
{
|
||||
cv::AutoBuffer<double> abuf;
|
||||
cv::Mat points = cv::cvarrToMat(array, false, false, 0, &abuf);
|
||||
return cv::fitEllipse(points);
|
||||
return cvBox2D(cv::fitEllipse(points));
|
||||
}
|
||||
|
||||
/* Calculates bounding rectagnle of a point set or retrieves already calculated */
|
||||
CV_IMPL CvRect
|
||||
cvBoundingRect( CvArr* array, int update )
|
||||
{
|
||||
CvRect rect;
|
||||
cv::Rect rect;
|
||||
CvContour contour_header;
|
||||
CvSeq* ptseq = 0;
|
||||
CvSeqBlock block;
|
||||
@@ -1343,16 +1343,16 @@ cvBoundingRect( CvArr* array, int update )
|
||||
|
||||
if( mat )
|
||||
{
|
||||
rect = cv::maskBoundingRect(cv::cvarrToMat(mat));
|
||||
rect = cvRect(cv::maskBoundingRect(cv::cvarrToMat(mat)));
|
||||
}
|
||||
else if( ptseq->total )
|
||||
{
|
||||
cv::AutoBuffer<double> abuf;
|
||||
rect = cv::pointSetBoundingRect(cv::cvarrToMat(ptseq, false, false, 0, &abuf));
|
||||
rect = cvRect(cv::pointSetBoundingRect(cv::cvarrToMat(ptseq, false, false, 0, &abuf)));
|
||||
}
|
||||
if( update )
|
||||
((CvContour*)ptseq)->rect = rect;
|
||||
return rect;
|
||||
((CvContour*)ptseq)->rect = cvRect(rect);
|
||||
return cvRect(rect);
|
||||
}
|
||||
|
||||
/* End of file. */
|
||||
|
||||
@@ -567,14 +567,14 @@ void cv::undistortPoints( InputArray _src, OutputArray _dst,
|
||||
_dst.create(src.size(), src.type(), -1, true);
|
||||
Mat dst = _dst.getMat();
|
||||
|
||||
CvMat _csrc = src, _cdst = dst, _ccameraMatrix = cameraMatrix;
|
||||
CvMat _csrc = cvMat(src), _cdst = cvMat(dst), _ccameraMatrix = cvMat(cameraMatrix);
|
||||
CvMat matR, matP, _cdistCoeffs, *pR=0, *pP=0, *pD=0;
|
||||
if( !R.empty() )
|
||||
pR = &(matR = R);
|
||||
pR = &(matR = cvMat(R));
|
||||
if( !P.empty() )
|
||||
pP = &(matP = P);
|
||||
pP = &(matP = cvMat(P));
|
||||
if( !distCoeffs.empty() )
|
||||
pD = &(_cdistCoeffs = distCoeffs);
|
||||
pD = &(_cdistCoeffs = cvMat(distCoeffs));
|
||||
cvUndistortPointsInternal(&_csrc, &_cdst, &_ccameraMatrix, pD, pR, pP, criteria);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user