问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教,jni调用,类型转换.用opencv进行静态人脸检测

发布网友 发布时间:2022-05-02 23:43

我来回答

1个回答

热心网友 时间:2022-06-28 11:26

想实现基于android的人脸检测,初步想法是结合颜色信息和opencv的haar特征。
现在面临的问题是java层到C层的类型转换问题。具体描述如下:
在java层读入相册中的图片,存成数组,在c中将图像数据转换成mat(Mat imgData(h, w, CV_8UC4, (unsigned char*) cbuf);),利用cvtColor转换成bgr格式,再转换成YcbCr格式(仍然是Mat类型)。
可是后面用到的cvAnd、cvErode、cvDilate、cvFindContours等函数的参数都是CvArr*(初学android,我先用C写了人脸检测的函数,当时输入的图像直接是IplImage*,不需要类型转换)。
我试过强制转换(如:IplImage presult=IplImage(Mresult);),可是最后会报错:OpenCV Error: Bad argument (Unknown array type) in cv::Mat cv::cvarrToMat(const CvArr*, bool, bool, int), file /hdd2/buildbot/slaves/slave_ardbeg1/50-SDK/opencv/moles/core/src/matrix.cpp, line 698。
已经实现的整个过程是:java层:bitmap—>int数组,C层:int数组—>Mat。现在问题是C层以前我写的函数输入是IplImage*,现在该怎么从Mat—>IplImage,再从IplImage—>Mat?
如果能用代码说明就更好了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
江西服装学院究竟怎么样 江西服装学院怎样 江西服装学院怎么样啊 服装学校师资哪里比较好 江西服装学院怎么样呢 报案警察如何处理弃婴法律上如何认定 公安机关如何处理弃婴 光宗耀祖名词解释光宗耀祖的解释是什么 呼吸37度时光能量适合什么肤质 2012年1月24日(初二)从武汉天河机场到当阳,不知道是坐火车、汽车,在武... 翡翠手镯圈口大小 火车票改签能改几次 翡翠手镯怎么量圈口推荐 翡翠手镯内径圈口怎么测量 如何更换 我移动有一个,我想用联通再申请一个可以吗?怎么申请? 微信一个手机号注册了两个怎么切换账号啊? 不想要原来的了,想重新申请一个,怎样弄? 如何切换注册账号 我想重新注册一个新的,该怎么办? 如何选择股票型基金 怎样选择股票和基金 换个怎么操作? 如何选股票基金 怎样从基金的流入流出情况,选择股票?谢了 如何通过基金选股票 芯源微的前景分析?芯源微是价值股吗?芯源微会涨多少? 怎样让CAD复制指定位置 cad制图,如何把一张图里面的内容直接复制到另一张图的指定位置? 中东战争的背景? 箭牌地砖编号ACS和ASS的区别 acs和jacs区别 acs的导航仪怎么样 意大利ACS高低温试验箱怎么样? 乐驰ACS是什么开关? acsecies什么意识 社保开具的养老保险征缴单中包括职业年金吗? 单位养老保险系统怎样打出之前月份的征缴通知单 safeguardWORLDPEACS是什么牌子? Acs是什么意思 养老保险缴费单可以一直拿在手里么? 个人养老保险交费清单 北京如何打印养老保险缴费清单 为何养老保险征缴计划单一片空白? 养老保险缴纳个人明细或对账单 不同数量的白玫瑰分别代表什么含义? 六朵红玫瑰和五朵白玫瑰代表什么? 同性和异性送的意思? 六朵红玫瑰和五朵白玫瑰代表什么意思? 秀珍鲍鱼清鸡汤怎样做才好吃? 如何使用微波炉制作清蒸鲍鱼