opencv cvSetZero(v);
这是我的函数,运行到cvSetZero(v);时就报错,提示:#include"stdafx.h"#include"cv.h"intmain(){int*v=newint...
这是我的函数,运行到cvSetZero(v);时就报错,提示:
#include "stdafx.h"
#include "cv.h"
int main(){
int* v=new int[2*2];
cvSetZero(v);//for(int i=0;i<5;i++) v[i]=0;
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
float a=*v;
v++;}
}
}
实在是不明白为什么 展开
#include "stdafx.h"
#include "cv.h"
int main(){
int* v=new int[2*2];
cvSetZero(v);//for(int i=0;i<5;i++) v[i]=0;
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
float a=*v;
v++;}
}
}
实在是不明白为什么 展开
1个回答
展开全部
cvSetZero();的参数 应该是 Mat IplImage 等opencv定义的阵列结构
你程序里面的v,仅仅是个一维数值,当然报错了
可以改成这样
CvMat *v;
v = cvCreateMat(2,2, CV_32SC1);
你程序里面的v,仅仅是个一维数值,当然报错了
可以改成这样
CvMat *v;
v = cvCreateMat(2,2, CV_32SC1);
追问
int* v=new int[2*2];
我这里的v是个2*2的数组,不是一维的呀?
追答
int[2][2]才是传统定义的二维
当然int[2*2]也可以表示二维
这个其实不重要
重要的是,要用 cvsetzero,就要用mat 或 IplImage
int[],的话,可以用memset(v,2,4*sizeof(int));
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询