Commit 3f1734bb authored by Rostislav Vasilikhin's avatar Rostislav Vasilikhin

fixed type checks in wrappers; array downloading code simplified

parent 77f99358
...@@ -318,28 +318,9 @@ static bool openvx_harris(Mat image, OutputArray _corners, ...@@ -318,28 +318,9 @@ static bool openvx_harris(Mat image, OutputArray _corners,
gradientSize.getValue<vx_int32>(), blockSize.getValue<vx_int32>(), gradientSize.getValue<vx_int32>(), blockSize.getValue<vx_int32>(),
corners, numCorners)); corners, numCorners));
//Download points from array (to be replaced by wrapper version) std::vector<vx_keypoint_t> vxKeypoints;
size_t nPoints = numCorners.getValue<vx_size>(); corners.copyTo(vxKeypoints);
vx_size arrayStride;
vx_keypoint_t* arrayPtr = NULL;
#ifndef VX_VERSION_1_1
IVX_CHECK_STATUS(vxAccessArrayRange(corners, 0, nPoints, &arrayStride, (void**)&arrayPtr, VX_READ_ONLY));
#else
vx_map_id mapId;
IVX_CHECK_STATUS(vxMapArrayRange(corners, 0, nPoints, &mapId, &arrayStride, (void**)&arrayPtr, VX_READ_ONLY,
VX_MEMORY_TYPE_HOST, 0));
#endif
std::vector<vx_keypoint_t> vxKeypoints(nPoints);
for(size_t i = 0; i < nPoints; i++)
{
vxKeypoints[i] = vxArrayItem(vx_keypoint_t, arrayPtr, i, arrayStride);
}
#ifndef VX_VERSION_1_1
IVX_CHECK_STATUS(vxCommitArrayRange(corners, 0, nPoints, arrayPtr));
#else
IVX_CHECK_STATUS(vxUnmapArrayRange(corners, mapId));
#endif
std::sort(vxKeypoints.begin(), vxKeypoints.end(), VxKeypointsComparator()); std::sort(vxKeypoints.begin(), vxKeypoints.end(), VxKeypointsComparator());
vx_float32 maxStrength = 0.0f; vx_float32 maxStrength = 0.0f;
...@@ -365,12 +346,12 @@ static bool openvx_harris(Mat image, OutputArray _corners, ...@@ -365,12 +346,12 @@ static bool openvx_harris(Mat image, OutputArray _corners,
} }
catch (RuntimeError & e) catch (RuntimeError & e)
{ {
CV_Error(CV_StsInternal, e.what()); CV_Error(cv::Error::StsInternal, e.what());
return false; return false;
} }
catch (WrapperError & e) catch (WrapperError & e)
{ {
CV_Error(CV_StsInternal, e.what()); CV_Error(cv::Error::StsInternal, e.what());
return false; return false;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment