求学为上 2015-06-07 10:18 采纳率: 0%
浏览 4690

opencv移植到arm上的问题

参考1:http://www.ebaina.com/bbs/forum. ... &extra=page%3D1
参考2: http://ebaina.com/bbs/forum.php? ... mp;highlight=opencv

我用的系统是ubuntu12.04.4 64位,安装了海思HI3515官方配套的SDK,gcc版本是4.6.3,cmake是2.8.10.1,然后新建一个build和output文件夹:
root@duhao-virtual-machine:/home/study/hi-opencv-2.4.10# ls
build opencv-2.4.10 output test
进入opencv-2.4.10,进行cmake-gui,然后配置是按参考2中的配置,输出选成上面的output目录
之后进入build目录,开始make和make install,最后在output里面生成 include,lib,share,LICENSE 。没有生成bin文件。:
root@duhao-virtual-machine:/home/study/hi-opencv-2.4.10/output# ls
include lib LICENSE share
然后将include下的opencv和opencv2拷贝到交叉编译器的include下

把lib下的文件也拷贝到交叉编译器的lib文件下

arm-hisiv100-linux-uclibcgnueabi-g++ face.cpp -I/home/study/hi-opencv-2.4.10/output/include/opencv -lopencv_highgui -lopencv_imgproc -lopencv_core -lpthread -lrt -ljpeg -lpng -lxml2 -lopencv_objdetect -o face 来编译以下参考1的程序

/***********Author:9crk 2014-12-24*****************************/
#include "cv.h"
#include "highgui.h"
#include "stdio.h"
/******************for time mesurement*************************/
#include
struct timeval tpstart,tpend;
unsigned long timeuses;
void timeRec()
{
gettimeofday(&tpstart,0);
}
int timeRep()
{
gettimeofday(&tpend,0);
timeuses=(tpend.tv_sec-tpstart.tv_sec)*1000000+tpend.tv_usec-tpstart.tv_usec;
printf("use time: %uus\n",timeuses);
return timeuses;
}
/********************end**************************************/

int main(int argc, char* argv[])
{
IplImage* img = NULL;
IplImage* cutImg = NULL;
CvMemStorage* storage = cvCreateMemStorage(0);
CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad("./haarcascade_frontalface_alt2.xml", 0, 0, 0);
CvSeq* faces;

img = cvLoadImage(argv[1], 0);

timeRec();
faces = cvHaarDetectObjects(img, cascade, storage, 1.2, 2, 0, cvSize(25,25) );
timeRep();
if (faces->total == 0){
printf("no face!\n");
}
cvSetImageROI(img, ((CvRect)cvGetSeqElem( faces, 0)));
cvSaveImage("face.bmp", img);

cvResetImageROI(img);
printf("face detected! in face.bmp!\n");
}

出现以下错误:
/usr/local/hi-arm/arm-hisiv100-linux/bin/../lib/gcc/arm-hisiv100-linux-uclibcgnueabi/4.4.1/../../../../arm-hisiv100-linux-uclibcgnueabi/lib/libxml2.so: warning: gethostbyname is obsolescent, use getnameinfo() instead.
/usr/local/hi-arm/arm-hisiv100-linux/bin/../lib/gcc/arm-hisiv100-linux-uclibcgnueabi/4.4.1/../../../../arm-hisiv100-linux-uclibcgnueabi/lib/libopencv_objdetect.a(haar.cpp.obj): In function cvHaarDetectObjectsForROC(void const*, CvHaarClassifierCascade*, CvMemStorage*, std::vector<int, std::allocator<int> >&, std::vector<double, std::allocator<double> >&, double, int, int, CvSize, CvSize, bool)':
haar.cpp.text._Z25cvHaarDetectObjectsForROCPKvP23CvHaarClassifierCascadeP12CvMemStorageRSt6vectorIiSaIiEERS5_IdSaIdEEdii6CvSizeSC_b+0x538): undefined reference to
cvCvtColor'
haar.cpp.text._Z25cvHaarDetectObjectsForROCPKvP23CvHaarClassifierCascadeP12CvMemStorageRSt6vectorIiSaIiEERS5_IdSaIdEEdii6CvSizeSC_b+0x16e8): undefined reference to cvCanny'
/usr/local/hi-arm/arm-hisiv100-linux/bin/../lib/gcc/arm-hisiv100-linux-uclibcgnueabi/4.4.1/../../../../arm-hisiv100-linux-uclibcgnueabi/lib/libopencv_objdetect.a(cascadedetect.cpp.obj): In function
cv::CascadeClassifier::detectMultiScale(cv::Mat const&, std::vectorcv::Rect_<int, std::allocatorcv::Rect_<int > >&, std::vector >&, std::vector >&, double, int, int, cv::Size_, cv::Size_, bool)':
cascadedetect.cpp.text._ZN2cv17CascadeClassifier16detectMultiScaleERKNS_3MatERSt6vectorINS_5Rect_IiEESaIS6_EERS4_IiSaIiEERS4_IdSaIdEEdiiNS_5Size_IiEESH_b+0x2b4): undefined reference to `cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)'
collect2: ld returned 1 exit status

这几个错误不懂要怎么改。希望大神来指导一下,感激不尽啊!!!

上面cmake-gui时的配置如下:
图片说明
图片说明

只是输出改成了上面新建的文件夹output。。。望大神指点一下啊,上面的问题要怎么解决额。

  • 写回答

5条回答 默认 最新

  • shiter 人工智能领域优质创作者 2015-06-07 14:24
    关注

    你把,错误的部分截图贴出来看看,那个我觉得好像是依赖的东西没放对地方

    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突