我得到的误差在线以下从类型“CvSeq”无效转换为类型“CvPoint *(如何在OpenCV中强制转换)
Vertex2 =(CvPoint *)顶点[I]; //其中顶点是轮廓cvseq和Vertex2是cvpoint
我从类型“CvSeq”错误无效的转换键入“CvPoint *
我如何解决这个
我得到的误差在线以下从类型“CvSeq”无效转换为类型“CvPoint *(如何在OpenCV中强制转换)
Vertex2 =(CvPoint *)顶点[I]; //其中顶点是轮廓cvseq和Vertex2是cvpoint
我从类型“CvSeq”错误无效的转换键入“CvPoint *
我如何解决这个
你试图获取数组中元素的地址?在这种情况下,你会去
cvseq* Vertex2 = &Vertices[i];
称为Vertex2类型cvseq指针,其值是元件i在阵列顶点的地址的指针。
UPDATE:
只是为了帮助你确切地知道什么是你的代码错误。
'CvSeq' to type 'CvPoint*'
这话说的,你有型CvPoint *的varaible(这将是你的Vertex2),你试图把类型指定CvSeq的数据。
Hai Vertex2是CVPoint,而Vertices是Cvseq类型的,它不能与bove一起工作,它说 在初始化 – smile 2010-03-29 08:09:27
时不能将'CvSeq *'转换为'CvPoint *'并且我有一行代码?您是否稍后尝试将Vertex2用于喜欢拍摄Cvpoint *的功能? cvseq和cvpoint有什么区别?你不能总是从一种类型转换到另一种类型。它适用于将一个float类型转换为一个int来切割小数部分,但试图将一个'猫'转换为一个'花'太复杂。要将'cat'投射到'flower',您需要扩展class cat以具有以“flower”类型实例的格式返回数据的函数 – thecoshman 2010-03-29 08:17:45
我的代码看起来像这样 else { Vertex2 =(如果(I
请显示足够的代码来帮助我们找出问题 - 在这种情况下,包括Vertex2和Vertices的声明。 – 2010-03-29 08:07:58