Use cv::String in Android camera wrapper
This commit is contained in:
parent
3088808926
commit
29b544d83c
@ -12,6 +12,8 @@
|
|||||||
#include "camera_wrapper.h"
|
#include "camera_wrapper.h"
|
||||||
#include "EngineCommon.h"
|
#include "EngineCommon.h"
|
||||||
|
|
||||||
|
#include "opencv2/core.hpp"
|
||||||
|
|
||||||
#undef LOG_TAG
|
#undef LOG_TAG
|
||||||
#undef LOGE
|
#undef LOGE
|
||||||
#undef LOGD
|
#undef LOGD
|
||||||
@ -37,17 +39,17 @@ public:
|
|||||||
static CameraActivity::ErrorCode getProperty(void* camera, int propIdx, double* value);
|
static CameraActivity::ErrorCode getProperty(void* camera, int propIdx, double* value);
|
||||||
static CameraActivity::ErrorCode applyProperties(void** ppcamera);
|
static CameraActivity::ErrorCode applyProperties(void** ppcamera);
|
||||||
|
|
||||||
static void setPathLibFolder(const std::string& path);
|
static void setPathLibFolder(const cv::String& path);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::string pathLibFolder;
|
static cv::String pathLibFolder;
|
||||||
static bool isConnectedToLib;
|
static bool isConnectedToLib;
|
||||||
|
|
||||||
static std::string getPathLibFolder();
|
static cv::String getPathLibFolder();
|
||||||
static std::string getDefaultPathLibFolder();
|
static cv::String getDefaultPathLibFolder();
|
||||||
static CameraActivity::ErrorCode connectToLib();
|
static CameraActivity::ErrorCode connectToLib();
|
||||||
static CameraActivity::ErrorCode getSymbolFromLib(void * libHandle, const char* symbolName, void** ppSymbol);
|
static CameraActivity::ErrorCode getSymbolFromLib(void * libHandle, const char* symbolName, void** ppSymbol);
|
||||||
static void fillListWrapperLibs(const std::string& folderPath, std::vector<std::string>& listLibs);
|
static void fillListWrapperLibs(const cv::String& folderPath, std::vector<cv::String>& listLibs);
|
||||||
|
|
||||||
static InitCameraConnectC pInitCameraC;
|
static InitCameraConnectC pInitCameraC;
|
||||||
static CloseCameraConnectC pCloseCameraC;
|
static CloseCameraConnectC pCloseCameraC;
|
||||||
@ -58,7 +60,7 @@ private:
|
|||||||
friend bool nextFrame(void* buffer, size_t bufferSize, void* userData);
|
friend bool nextFrame(void* buffer, size_t bufferSize, void* userData);
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string CameraWrapperConnector::pathLibFolder;
|
cv::String CameraWrapperConnector::pathLibFolder;
|
||||||
|
|
||||||
bool CameraWrapperConnector::isConnectedToLib = false;
|
bool CameraWrapperConnector::isConnectedToLib = false;
|
||||||
InitCameraConnectC CameraWrapperConnector::pInitCameraC = 0;
|
InitCameraConnectC CameraWrapperConnector::pInitCameraC = 0;
|
||||||
@ -165,7 +167,7 @@ CameraActivity::ErrorCode CameraWrapperConnector::connectToLib()
|
|||||||
}
|
}
|
||||||
|
|
||||||
dlerror();
|
dlerror();
|
||||||
std::string folderPath = getPathLibFolder();
|
cv::String folderPath = getPathLibFolder();
|
||||||
if (folderPath.empty())
|
if (folderPath.empty())
|
||||||
{
|
{
|
||||||
LOGD("Trying to find native camera in default OpenCV packages");
|
LOGD("Trying to find native camera in default OpenCV packages");
|
||||||
@ -174,12 +176,12 @@ CameraActivity::ErrorCode CameraWrapperConnector::connectToLib()
|
|||||||
|
|
||||||
LOGD("CameraWrapperConnector::connectToLib: folderPath=%s", folderPath.c_str());
|
LOGD("CameraWrapperConnector::connectToLib: folderPath=%s", folderPath.c_str());
|
||||||
|
|
||||||
std::vector<std::string> listLibs;
|
std::vector<cv::String> listLibs;
|
||||||
fillListWrapperLibs(folderPath, listLibs);
|
fillListWrapperLibs(folderPath, listLibs);
|
||||||
std::sort(listLibs.begin(), listLibs.end(), std::greater<std::string>());
|
std::sort(listLibs.begin(), listLibs.end(), std::greater<cv::String>());
|
||||||
|
|
||||||
void * libHandle=0;
|
void * libHandle=0;
|
||||||
std::string cur_path;
|
cv::String cur_path;
|
||||||
for(size_t i = 0; i < listLibs.size(); i++) {
|
for(size_t i = 0; i < listLibs.size(); i++) {
|
||||||
cur_path=folderPath + listLibs[i];
|
cur_path=folderPath + listLibs[i];
|
||||||
LOGD("try to load library '%s'", listLibs[i].c_str());
|
LOGD("try to load library '%s'", listLibs[i].c_str());
|
||||||
@ -245,7 +247,7 @@ CameraActivity::ErrorCode CameraWrapperConnector::getSymbolFromLib(void* libHand
|
|||||||
return CameraActivity::NO_ERROR;
|
return CameraActivity::NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CameraWrapperConnector::fillListWrapperLibs(const std::string& folderPath, std::vector<std::string>& listLibs)
|
void CameraWrapperConnector::fillListWrapperLibs(const cv::String& folderPath, std::vector<cv::String>& listLibs)
|
||||||
{
|
{
|
||||||
DIR *dp;
|
DIR *dp;
|
||||||
struct dirent *ep;
|
struct dirent *ep;
|
||||||
@ -264,7 +266,7 @@ void CameraWrapperConnector::fillListWrapperLibs(const std::string& folderPath,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CameraWrapperConnector::getDefaultPathLibFolder()
|
cv::String CameraWrapperConnector::getDefaultPathLibFolder()
|
||||||
{
|
{
|
||||||
#define BIN_PACKAGE_NAME(x) "org.opencv.lib_v" CVAUX_STR(CV_VERSION_EPOCH) CVAUX_STR(CV_VERSION_MAJOR) "_" x
|
#define BIN_PACKAGE_NAME(x) "org.opencv.lib_v" CVAUX_STR(CV_VERSION_EPOCH) CVAUX_STR(CV_VERSION_MAJOR) "_" x
|
||||||
const char* const packageList[] = {BIN_PACKAGE_NAME("armv7a"), OPENCV_ENGINE_PACKAGE};
|
const char* const packageList[] = {BIN_PACKAGE_NAME("armv7a"), OPENCV_ENGINE_PACKAGE};
|
||||||
@ -287,10 +289,10 @@ std::string CameraWrapperConnector::getDefaultPathLibFolder()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::string();
|
return cv::String();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CameraWrapperConnector::getPathLibFolder()
|
cv::String CameraWrapperConnector::getPathLibFolder()
|
||||||
{
|
{
|
||||||
if (!pathLibFolder.empty())
|
if (!pathLibFolder.empty())
|
||||||
return pathLibFolder;
|
return pathLibFolder;
|
||||||
@ -358,10 +360,10 @@ std::string CameraWrapperConnector::getPathLibFolder()
|
|||||||
LOGE("Could not get library name and base address");
|
LOGE("Could not get library name and base address");
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::string();
|
return cv::String();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CameraWrapperConnector::setPathLibFolder(const std::string& path)
|
void CameraWrapperConnector::setPathLibFolder(const cv::String& path)
|
||||||
{
|
{
|
||||||
pathLibFolder=path;
|
pathLibFolder=path;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user