双目视觉嵌入式移植中Opencv程序移植时问题及解决,移植成功啦,哈哈

阅读: 评论:0

双目视觉嵌入式移植中Opencv程序移植时问题及解决,移植成功啦,哈哈

双目视觉嵌入式移植中Opencv程序移植时问题及解决,移植成功啦,哈哈

Opencv移植方法:

我用的是Cmake,最终成功,把路径下生成的so文件拷到开发板的  /lib文件下。

在这之前也可能要移植ffmpge:

遇到问题多看文章,多试几次最终一定会成功。

现在就可以编译程序啦:


<span style="font-size:18px;">#include <cv.h>  
#include <cxcore.h>  
#include <highgui.h>  int main(int argc,char **argv)  
{  CvCapture* capture = NULL;  IplImage* pImg = NULL;  fprintf(stderr, "123");   pImg = cvLoadImage("1.jpg",1);fprintf(stderr, "456");  cvNamedWindow("video", 1);  fprintf(stderr, "789");   cvShowImage("video", pImg);  fprintf(stderr, "109");  cvWaitKey(-1);cvDestroyWindow("video");  cvReleaseImage( &pImg );   return 0;  
} </span>


编译命令:

arm-none-linux-gnueabi-g++ opencv_chuli.cpp -o opencv_testchuli  -I/usr/local/opencv-arm/OpenCV/include/opencv -L/usr/local/opencv-arm/OpenCV/lib -lml -lcvaux -lhighgui -lcv -lcxcore  -lpthread -lrt 

注意:1、这是一个命令,是一行,当然不同指令中间要加空格。

2、opencv_chuli.cpp 是你的程序文件,把上面的程序复制到文档里再重命名成这个名字就可以了。

3、opencv_testchuli   这是最终生成的二进制文件名,可以修改,到时要拷到开发板上。

4、/usr/local/opencv-arm/OpenCV/include/opencv 这是编译成功的OpenCV路径,/usr/local/opencv-arm/OpenCV/lib也一样。

在终端运行,注意要用root权限。

最终就成功啦,把程序拷到开发板上运行就可啦。

运行错误:

123456OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100
terminate called after throwing an instance of 'cv::Exception'
Aborted


GTK是一种GUI库,参考:

我以后要用QT 所以就不移植啦。


第二个程序:

<span style="font-size:14px;">#include <cv.h>  
#include <cxcore.h>  
#include <highgui.h>  int main(int argc,char **argv)  
{  CvCapture* capture = NULL;  IplImage* pImg = NULL;IplImage* pImg1 = NULL;fprintf(stderr, "123");   pImg = cvLoadImage("1.jpg",1);fprintf(stderr, "456");  pImg1 = cvCreateImage(cvSize(pImg->width,pImg->height),IPL_DEPTH_8U,1);fprintf(stderr, "456");  cvCvtColor(pImg,pImg1,CV_RGB2GRAY);fprintf(stderr, "789");   cvSaveImage("1_1.jpg",pImg1);fprintf(stderr, "109");  cvReleaseImage( &pImg );   cvReleaseImage( &pImg1 );   return 0;  
}  </span>


运行问题:

123456Segmentation fault  

解决:,可能是我没有移植libjpeg的原因,改变后程序:

<span style="font-size:14px;">#include <cv.h>  
#include <cxcore.h>  
#include <highgui.h>  int main(int argc,char **argv)  
{  CvCapture* capture = NULL;  IplImage* pImg = NULL; IplImage* pImg1 = NULL; fprintf(stderr, "123");   pImg = cvLoadImage("1.bmp",1);fprintf(stderr, "456");  pImg1 = cvCreateImage(cvSize(pImg->width,pImg->height),IPL_DEPTH_8U,1);fprintf(stderr, "456");  cvCvtColor(pImg,pImg1,CV_RGB2GRAY);fprintf(stderr, "789");   cvSaveImage("1_1.bmp",pImg1);fprintf(stderr, "109");  cvReleaseImage( &pImg );   cvReleaseImage( &pImg1 );   return 0;  
}  </span>

运行结果:

123456456789109

原始图片:


处理后图像:


证明移植成功!

本文发布于:2024-01-31 11:37:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667227828244.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:双目   嵌入式   视觉   程序   Opencv
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23