c++opencv项目移植到Android(Mat—》IplImage*)
2023-09-11 14:14:42 时间
近期将PC机上的行人检測的C++项目移植到Android平台遇到非常多的问题。因此,记录一些重点。
1. 最好能够參照Opencv sample 里面的mix-processing。
2. 数据结构的问题:尤其是 将从java得到的Mat数据转化为IplImage*。
这个会有非常多的问题。网上大概的方法是:
//第一种转换方式 error
IplImage *imgIpl1 = cvCreateImage(cvSize(w, h), 8, 3);
Mat temp = preMat.clone();
imgIpl1->imageData = (char *)temp.data;
//另外一种转换方式
IplImage imgIpl2 = preMat.operator _IplImage();
//第三种转换方式
IplImage imgIpl3 = (IplImage)(preMat);
//第四种转换方式
IplImage *imgIpl4 = &IplImage(preMat);
//第五种转换方式
Mat imgtemp;
imgtemp =mGr.clone();
imgshow=cvCreateImage(cvSize(mGr.cols,mGr.rows),8,3);
imgshow.imageData=(char*)imgtemp.data;
可是,对我来说都不好用,我也不知道为什么。
于是继续探索,出现了这个问题: taking address of temporary [-fpermissive]
最终找到了解决方式:
Mat& mGr = *(Mat*)addrGray;
IplImage temp = (IplImage)mGr;
IplImage *imgshow =&temp;
详细的原因是: 操作取了暂时变量的地址,返回后暂时变量已经“消失”了。你不能再使用。
好的,问题就算攻克了。代码最终移植过来了!
相关文章
- Android系统自带的android.util.Base64的实现源码
- Android 开源项目android-open-project解析之(二) GridView,ImageView,ProgressBar,TextView
- Android 异常 android.os.NetworkOnMainThreadException
- Android 屏幕适配攻略(三)单位dp与sp
- android:Cordova Android, hello Cordova ,PhoneGap android
- React-Native 之 GD (二十)removeClippedSubviews / modal放置的顺序 / Android 加载git图动图 / 去除 Android 中输入框的下划线 / navigationBar
- 腾讯Android自动化测试实战1.1 Android自动化测试框架概述
- 每日Android一问等你来解答-什么是Activity的生命周期?
- android常见错误-The container 'Android Dependencies' references non existing library
- 《Android传感器开发与智能设备案例实战》——导读
- OpenCV android sdk配置OpenCV android NDK开发实例
- Android---- 获取当前应用的版本号和当前android系统的版本号
- 实现Android Studio JNI开发C/C++使用__android_log_print输出Log
- Android消息机制(2)
- android开发:Android 中自定义属性(attr.xml,TypedArray)的使用
- android开发:Android 中自定义View的应用
- android开发支付宝接口开发流程(密钥篇)
- Android App开发超实用实例 | OpenCV在Android手机实现在图像上添加文本
- findlibrary returned null产生的联想,Android ndk开发打包时我们应该怎样注意平台的兼容(x86,arm,arm-v7a)
- Android学习笔记之:android更新ui的几种经常用法
- android中常见的内存泄漏和解决的方法
- 【Android开发经验】android:windowSoftInputMode属性具体解释
- 改动Android设备信息,如改动手机型号为iPhone7黄金土豪版!
- (原+转)Eclipse中Android调用OpenCv
- Android:Bluetooth 的打开和关闭