我在OpenCV中使用CvPoint
結構,我需要爲該結構的x
和y
字段指定一個值。如何設置CvPoint的值
這裏是我的代碼:
CvPoint* P1;
P2[0].x=32;
但是,這個項目一直阻止試圖設置的值。
有關如何設置這些值的任何想法?
我在OpenCV中使用CvPoint
結構,我需要爲該結構的x
和y
字段指定一個值。如何設置CvPoint的值
這裏是我的代碼:
CvPoint* P1;
P2[0].x=32;
但是,這個項目一直阻止試圖設置的值。
有關如何設置這些值的任何想法?
那麼首先P1是一個指向P1類型對象的指針。爲了通過指針指定對象的成員,您需要使用- >運算符。如果該指針指向數組的開頭,則使用運算符[]訪問各個元素。此運算符返回給定索引的引用,在此例中爲CvPoint &。
1.單個對象
CvPoint* P1 = new CvPoint(); // default construction of an object of type CvPoint
P1->x = 32;
// do something with P1
// clean up
delete P1;
2.動態分配或新的運營商已經使用的陣列
CvPoint* points = new CvPoint[2]; // array of two CvPoints
points[0].x = 32; // operator[] returns a reference to the CvPoint at the given index
points[1].x = 32;
// do something with points
// clean up
delete[] points;
由於在這兩個例子中,它是動態分配強制將它們與匹配的電話配對刪除或刪除[]以防萬一的數組。
沒有動態方法:
CvPoint P1;
P1.x=32;
P1.y=32;
//////////////
CvPoint P2[2];
P2[0].x=32;
P2[0].y=32;
您已經創建了名的指針變量'P1'&你試圖賦值指針變量'P2'?你需要做一些事情,比如'cvPoint P1 = cvPoint(32,32);' –
因爲問題被標記爲C++,無論如何,最好使用'cv :: Point'對象。 Othwerwise把這個問題重新提交給C可能是一個好主意。 –