2010-03-30 62 views
0

海,我怎麼強制轉換cvseq到cvpoint

怎樣在OpenCV的類型轉換,我想類型轉換爲cvseq到cvpoint

+1

請發表相關的代碼。你爲什麼想要演員。這些類型似乎意味着完全不同的事情。 – 2010-03-30 10:24:05

+2

我發誓我前幾天看到這個完全相同的問題。 – thecoshman 2010-03-30 10:29:50

+1

@thecoshman你是對的:http://stackoverflow.com/questions/2536426/invalid-cast-from-type-cvseq-to-type-cvpoint-how-to-typecast-in-opencv – 2010-03-30 10:30:49

回答

4

從我可以在這裏看到:

http://opencv.willowgarage.com/documentation/dynamic_structures.html

CvSeq似乎是某種形式的數據容器,不能直接轉換爲CvPoint

可能是你想要什麼:

char* cvGetSeqElem(const CvSeq* seq, int index)

我想它的使用是這樣的:

CvPoint* point = reinterpret_cast<CvPoint*>(cvGetSeqElem(sequence, some_index)); 
0

你不onpenCV這樣類型轉換,它的一個特性是C++

你做這樣的事情

float var_a = 9.99; 
int var_b = static_cast<int>var_a; 

好像你只是試着寫

int var_b = var_a; 

你會得到你不能隱式(自動)浮點數轉換爲int的警告,因爲你失去了小數。

類型轉換(把你知道你想要的類型放在括號中)告訴編譯器你知道你在做什麼並且很酷。

+0

無論你是否真的不想和/或可以typecast這些類型完全是另一回事。 – thecoshman 2010-03-30 10:32:24

+0

這與這個問題有什麼關係? – Naveen 2010-03-30 10:39:36

+0

這個問題是關於類型轉換的,我向他展示了一個如何轉換類型的例子。這是一個例子,我沒有用過他問過的完全相同的類型,但它適用於任何類型。然後,我在評論中指出(不可否認,可能應該編輯答案來包含它),並非所有類型都可以相互轉換。 – thecoshman 2010-03-30 11:01:52

相關問題