【发布时间】:2014-05-11 20:01:04
【问题描述】:
我正在开发一个 Android 应用程序,我的本机代码中有这个问题。
这些向量是全局的。
vector<Mat> listaMatDes;
vector<Mat> listaMatKey;
vector<int> listaCols;
vector<int> listaRows;
我也有这个函数,其中descriptors和keyPoints包含一些Mats的地址(使用这个函数getNativeObjAddr()):
void rellenarObjetos(jlong* keyPoints, jlong* descriptors, jint* cols, jint* rows, int length){
for(int i=0; i<length; i++){
listaCols.push_back(cols[i]);
listaRows.push_back(rows[i]);
Mat* aux_des=(Mat*)descriptors[i];
listaMatDes.push_back(aux_des->clone());
Mat* aux_key=(Mat*)keyPoints[i];
listaMatKey.push_back(aux_key->clone());
}
}
我检查了两个辅助Mat,它们创建得很好。
我有这个错误致命信号 11 (SIGSEGV) at 0x00000001 (code=1) 它是由线路引起的
listaMatDes.push_back(aux_des->clone());
但我不知道为什么。
【问题讨论】:
标签: android c++ opencv vector mat