Opencv "C" Android 版 Opencv SDK 中的方法
opencv "C" methods in Opencv SDK for Android
我已经下载了opencvv2.4.2 Android SDK用于Android开发。我需要将一些Opencv"C"代码转换为android Opencv。但我在android opencv中找不到任何"C"函数。我只能在安卓opencv中看到"CPP"功能。
例如,"detectmultiscale"
在库中,但我找不到"CvHaardetectobjects"
。此外,我找不到任何以"Cv"
开头的函数。
由于我使用的是"C"函数,如果我在Android opencv中也有相同的函数,那就太好了。有可能在android opencv中获得或只有我们有CPP方法吗。?
好的,如果你已经为Android安装了OpenCV,那么你就可以使用Java类和方法;如果你真的想使用C++对象,你必须在NDK中进行开发。。。
但在您的情况下,android的OpenCv上确实没有Java CvHaardetectobjects
;但在这种情况下,您可以将HaarCascade加载到CascadeClassifier
中,之后您可以使用detectMultiScale
基于HaarCasade执行检测。
得到了与CvHaardetectobjects
相同的结果。
请参阅以下代码:
/////////////Load the HaarCascade file into the clsssifier
try {
InputStream is3 = getResources().openRawResource(R.raw.haarcascade_mcs_mouth);
File cascadeDir = getDir("cascade", Context.MODE_PRIVATE);
File mCascadeFile = new File(cascadeDir, "haarcascade_mcs_mouth.xml");
FileOutputStream os3 = new FileOutputStream(mCascadeFile);
byte[] buffer = new byte[4096];
int bytesRead;
Log.e("","Non c'è problema PRIMA della lettura del file");
while ((bytesRead = is3.read(buffer)) != -1) {
os3.write(buffer, 0, bytesRead);
}
is3.close();
os3.close();
Log.e("","Non c'è problema con la lettura del file");
mJavaDetector = new CascadeClassifier(mCascadeFile.getAbsolutePath());
if (mJavaDetector.empty()) {
Log.e(TAG, "Failed to load cascade classifier");
mJavaDetector = null;
} else
Log.e(TAG, "Loaded cascade classifier from " + mCascadeFile.getAbsolutePath());
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, "Failed to load cascade. Exception thrown: " + e);
}
//////Call detectMultiScale with the Detector that contains the cascade
mJavaDetector.detectMultiScale(mat,MapofRect,1.15,4,0,new Size(25,15),new Size(face.width(),face.height()/2));
OpenCV for Android基于C++函数,因此您将更幸运地找到C++/Python之间的关系<--->Android/Java。
您也可以在这里浏览Android/Java功能。
此外,有些东西可能已经被弃用,CvHaardetectobject看起来就是其中之一。它似乎已被C++取代:级联分类器::detectMultiScale或Java:CastcadeClassifier.detectMultiScale.
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 在 OpenCV C++ 中估计基本矩阵之前对相应点进行归一化的正确方法是什么?
- OpenCv 在C++中从 1 D 数组制作垫子图像的最快方法
- 我最近正在阅读opencv源代码。有没有更好的方法来在opencv库中查找类定义?
- 从 std::vector 创建 OpenCV 垫子的有效方法
- 什么是用面部识别器opencv训练面孔以获得最佳效果的最佳方法
- 将 OpenCV 方法从 Java 重写为 C++
- 在所有程序中,在Visual Studio中添加OpENCV的一般方法是什么?
- OpenCv,将 4x4 cv::Mat 乘以 cv::P oint3f 的最佳方法是什么
- 在OPENCV中,仅在C 中存在某些方法,如何在Python中做同一件事
- 什么是通过MPI发送OpenCV垫的最佳方法
- 是否有一种方法可以修复编译器未找到特定的OPENCV变量/函数
- 调用PCACompute方法是OpenCV C++
- 调试一种方法,用于使用C 中的OpenCV从视频中查找帧的平均帧
- 使用OpenCV检测图像中垂直文本的方法
- Python方法的OpenCV C 类似物
- 试图找到一种在OpenCV / BOOST中记录图形数据的方法
- OPENCV CV ::减去方法投掷System.Runtime.InterOpservices.sehexceptio
- 在OpenCV方法VideoCapture.open()中使用设备名称而不是ID
- 调用opencv方法时编译错误