1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 15:23:05 +04:00

fixed bug with possible memory corruption in CvMat m = iarray.getMat(); expressions (ticket #1054)

This commit is contained in:
Vadim Pisarevsky
2011-05-18 15:16:12 +00:00
parent d998c73769
commit 2dc981aaa8
13 changed files with 61 additions and 40 deletions
+5 -3
View File
@@ -291,11 +291,12 @@ cvCamShift( const void* imgProb, CvRect windowIn,
cv::RotatedRect cv::CamShift( const InputArray& _probImage, Rect& window,
TermCriteria criteria )
TermCriteria criteria )
{
CvConnectedComp comp;
CvBox2D box;
CvMat c_probImage = _probImage.getMat();
Mat probImage = _probImage.getMat();
CvMat c_probImage = probImage;
cvCamShift(&c_probImage, window, (CvTermCriteria)criteria, &comp, &box);
window = comp.rect;
return RotatedRect(Point2f(box.center), Size2f(box.size), box.angle);
@@ -304,7 +305,8 @@ cv::RotatedRect cv::CamShift( const InputArray& _probImage, Rect& window,
int cv::meanShift( const InputArray& _probImage, Rect& window, TermCriteria criteria )
{
CvConnectedComp comp;
CvMat c_probImage = _probImage.getMat();
Mat probImage = _probImage.getMat();
CvMat c_probImage = probImage;
int iters = cvMeanShift(&c_probImage, window, (CvTermCriteria)criteria, &comp );
window = comp.rect;
return iters;