有偿求c++嵌入式高手,襄王有意神女无心私聊

查看: 6203|回复: 4
关于ImageProc的findContours问题,请高手赐教!
我在Android App里对一张图片中的目标求外部轮廓;
使用void org.opencv.imgproc.Imgproc.findContours(Mat image, List&MatOfPoint& contours, Mat hierarchy, int mode, int method)
单每次都出现如下问题:
04-28 09:59:48.857: E/cv::error()(1095): OpenCV Error: Unsupported format or combination of formats ([Start]FindContours support only 8uC1 and 32sC1 images) in _CvContourScanner* cvStartFindContours(void*, CvMemStorage*, int, int, int, CvPoint), file /home/reports/ci/slave/50-SDK/opencv/modules/imgproc/src/contours.cpp, line 196
04-28 09:59:48.857: D/AndroidRuntime(1095): Shutting down VM
04-28 09:59:48.867: W/dalvikvm(1095): threadid=1: thread exiting with uncaught exception (group=0x409bd1f8)
04-28 09:59:48.867: E/AndroidRuntime(1095): FATAL EXCEPTION: main
04-28 09:59:48.867: E/AndroidRuntime(1095): CvException [org.opencv.core.CvException: /home/reports/ci/slave/50-SDK/opencv/modules/imgproc/src/contours.cpp:196: error: (-210) [Start]FindContours support only 8uC1 and 32sC1 images in function _CvContourScanner* cvStartFindContours(void*, CvMemStorage*, int, int, int, CvPoint)
04-28 09:59:48.867: E/AndroidRuntime(1095): ]
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at org.opencv.imgproc.Imgproc.findContours_1(Native Method)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at org.opencv.imgproc.Imgproc.findContours(Imgproc.java:5500)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at com.example.imagematch.MainActivity$1.onManagerConnected(MainActivity.java:106)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at android.os.Handler.handleCallback(Handler.java:605)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at android.os.Handler.dispatchMessage(Handler.java:92)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at android.os.Looper.loop(Looper.java:137)
04-28 09:59:48.867: E/AndroidRuntime(1095): & & & & at android.app.ActivityThread.main(ActivityThread.java:4429)
根据提示,我把输入的Mat对象都转化成CvType.CV_32SC1类型还是不行:mat.convertTo(mat, CvType.CV_32SC1);
全部代码如下,求高手赐教,谢谢:
& && &&&public void onManagerConnected(int status) {
& && && && &switch (status) {
& && && && &case LoaderCallbackInterface.SUCCESS:{
& && && && && && &&&Log.i(&MainActivity&, &OpenCV loaded successfully&);
& && && && && && &&&
& && && && && && &&&Mat mat = new Mat();
& && && && && && &&&Utils.bitmapToMat(mTemplateImage, mat);
& && && && && && &&&//二值化
& && && && && && &&&Imgproc.GaussianBlur(mat, mat, new Size(9,9), 10);
& && && && && && &&&Imgproc.threshold(mat, mat, 128, 200,Imgproc.THRESH_BINARY);
& && && && && && &&&mat.convertTo(mat, CvType.CV_32SC1);
& && && && && && &&&ArrayList&MatOfPoint& contoursList = new ArrayList&MatOfPoint&();
& && && && && && &&&Mat hierarchy = new Mat();
& && && && && && &&&hierarchy.convertTo(hierarchy, CvType.CV_32SC1);
& && && && && && &&&//定义轮廓抽取模式
& && && && && && &&&int mode = Imgproc.RETR_EXTERNAL;
& && && && && && &&&//定义轮廓识别方法
& && && && && && &&&int method = Imgproc.CHAIN_APPROX_NONE;
& && && && && && &&&//轮廓识别
& && && && && && &&&Imgproc.findContours(mat, contoursList, hierarchy, mode, method);
& && && && && && &&&
& && && && && && &&&if( contoursList != null && contoursList.size() & 0 ){
& && && && && && &&&& & & & for( MatOfPoint matpoint : contoursList ){
& && && && && && &&&& & & & & & & & org.opencv.core.Point[] points = matpoint.toArray();
& && && && && && &&&& & & & & & & & for( org.opencv.core.Point point : points)
& && && && && && &&&& & & && && && &Log.i(&MainActivity&, &x=&+point.x+&,y=&+point.y);
& && && && && && &&&& & & & }
& && && && && && &&&}
& && && && && && &&&
& && && && && & }
& && && && && &
& && && && &default:{
& && && && && && &&&super.onManagerConnected(status);
& && && && && & }
& && && && &}
关于ImageProc的findContours问题,请高手赐教!
convertTo通过转换后,格式是没有发生变化的,你用canny方法可以转换成功,不这过个中边缘。。。。
我用的mat格式是32f,版本是2.4.6
hello&&解决了没有呢
Mat mat = new Mat();
Utils.bitmapToMat(img, mat);
Size dsize = new Size(mat.width() * scale, mat.height() * scale);
Mat mat2 = new Mat(dsize, Core.DEPTH_MASK_8U);
Mat mat3 = new Mat();
int threshold1 = 110;
int threshold2 = 110;
Imgproc.Canny(mat, mat3, threshold1, threshold2);
List&MatOfPoint& contours = new ArrayList&MatOfPoint&();
Mat mat4 = new Mat();
Imgproc.cvtColor(mat, mat4, Imgproc.COLOR_RGB2GRAY, 1);
Imgproc.findContours(mat4, contours, new Mat(), Imgproc.RETR_TREE,
& & & & & & & & & & & & & & & & Imgproc.CHAIN_APPROX_NONE);
这样就可以了。
Powered byC++,JAVA,嵌入式,三个中哪个方向比较好啊,求大神指点
[问题点数:40分,结帖人l_jingyi]
C++,JAVA,嵌入式,三个中哪个方向比较好啊,求大神指点
[问题点数:40分,结帖人l_jingyi]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分5阅读权限10帖子精华可用积分5 信誉积分100 专家积分0 在线时间49 小时注册时间最后登录
白手起家, 积分 5, 距离下一级还需 195 积分
帖子主题精华可用积分5 信誉积分100 专家积分0 在线时间49 小时注册时间最后登录
论坛徽章:0
最近想查内存泄漏的问题,但是由于平台是ppc+dsp,所以无法再pc下用valgrind查内存泄漏的问题,我看到资料上说valgrind是支持ppc平台的,但是交叉编译就是不行,Makefile都生成不了,不知道有没有高人在嵌入式平台下玩过?望指点一二。
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分405阅读权限20帖子精华可用积分405 信誉积分200 专家积分0 在线时间388 小时注册时间最后登录
稍有积蓄, 积分 405, 距离下一级还需 95 积分
帖子主题精华可用积分405 信誉积分200 专家积分0 在线时间388 小时注册时间最后登录
论坛徽章:0
自己写个?
每次分配和释放都做个记录,完了分析下
UID空间积分0 积分42阅读权限10帖子精华可用积分42 信誉积分108 专家积分0 在线时间137 小时注册时间最后登录
白手起家, 积分 42, 距离下一级还需 158 积分
帖子主题精华可用积分42 信誉积分108 专家积分0 在线时间137 小时注册时间最后登录
论坛徽章:0
memwatch不错啊。。。
这段时间搞了这玩意试了下..
可以查内存泄漏的一些问题。。。
以前好像也下了个valrind,但当时用的是uclib,好像不大好弄了,
UID空间积分0 积分10阅读权限10帖子精华可用积分10 信誉积分100 专家积分0 在线时间10 小时注册时间最后登录
白手起家, 积分 10, 距离下一级还需 190 积分
帖子主题精华可用积分10 信誉积分100 专家积分0 在线时间10 小时注册时间最后登录
论坛徽章:0
顶起来,我现在在arm上移植valgrind也遇到了这个问题,用configure命令的时候连makefile都生成不了啊,高手们帮我看看啊。
./configure --host=arm5113-dl-linux-gnueabi
接下里是报错了
checking for a supported version of gcc... ok (4.1)
checking build system type... x86_64-unknown-linux-gnu
checking host system type... Invalid configuration `arm5113-dl-linux-gnueabi': machine `arm5113-dl' not recognized
configure: error: /bin/sh ./config.sub arm5113-dl-linux-gnueabi failed
有没有哪位高手能帮我解决一下啊
爱coding爱生活-
UID513488空间积分4 积分1832阅读权限30帖子精华可用积分1832 信誉积分757 专家积分0 在线时间1856 小时注册时间最后登录
家境小康, 积分 1832, 距离下一级还需 168 积分
帖子主题精华可用积分1832 信誉积分757 专家积分0 在线时间1856 小时注册时间最后登录
论坛徽章:0
./configure&&--host=powerpc-unknown-linux --target=powerpc-unknown-linux&&--prefix=/local/valgrind --build=i486-cross-linux-gnu
把PPC改成你的Arch
CC, LD, CXX, AR 等要事先定义好.
Latex与十四行诗
创客168第4期:业务导向下的运维管理
创客168第4期沙龙活动聚焦运维话题,邀请优秀互联网企业技术专家分享运维平台建设,运维常用工具实践,成长型企业面临的运维和安全问题,应用性能管理解决方案等运维话题。,聚焦发展中的关键和共性运维技术难点。
----------------------------------------
活动日期:日
活动地点:长林咖啡书屋
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处欢迎光临访问决胜网!
【上海】C/C++岗位认证 让您从零基础成为一个真正的程序高手-包就业
C/C++岗位认证,保就业拿高薪进名企
1. 海同科技联合美国半导体行业巨头ATMEL率先在行业推出"iotek-ATMEL软件工程师认证(C/C++工程师)",这也是ATMEL公司全行业唯一的联合认证,含金量堪比"软件行业的微软认证"。2. 认证考试基于C/C++工程师的胜任力标准命题,包括在线笔试和项目实践两个部分。学员报名参加认证考试,通过后将由海同专业猎头团队为学员推荐相应的职位并确保每个通过认证的学员100%找到理想的工作。3. 结合软件开发的编程规范和实用技巧,模拟真实工作环境,深入讲解和剖析基于Linux系统的ANSI C语言的编程知识, 包括函数与程序结构、指针、数组、库函数的开发、Linux平台上C程序运行机制、 结合实际项目讲解知识点的运用和理解,讲解嵌入式系统开发中常用的数据结构和算法、程序模块化设计思想和程序性能优化技术。 培养基于Linux的底层开发工程师、物联网开发工程师、系统以及应用开发各个方向的工作、嵌入式开发工程师。& &&

我要回帖

更多关于 襄王有意神女无心 的文章

 

随机推荐