| 25 | |
| 26 | template<typename T, typename convAccT> |
| 27 | static void orb(af_features& feat_, af_array& descriptor, const af_array& in, |
| 28 | const float fast_thr, const unsigned max_feat, |
| 29 | const float scl_fctr, const unsigned levels, |
| 30 | const bool blur_img) { |
| 31 | Array<float> x = createEmptyArray<float>(dim4()); |
| 32 | Array<float> y = createEmptyArray<float>(dim4()); |
| 33 | Array<float> score = createEmptyArray<float>(dim4()); |
| 34 | Array<float> ori = createEmptyArray<float>(dim4()); |
| 35 | Array<float> size = createEmptyArray<float>(dim4()); |
| 36 | Array<uint> desc = createEmptyArray<uint>(dim4()); |
| 37 | |
| 38 | af_features_t feat; |
| 39 | |
| 40 | feat.n = orb<T, convAccT>(x, y, score, ori, size, desc, getArray<T>(in), |
| 41 | fast_thr, max_feat, scl_fctr, levels, blur_img); |
| 42 | |
| 43 | feat.x = getHandle(x); |
| 44 | feat.y = getHandle(y); |
| 45 | feat.score = getHandle(score); |
| 46 | feat.orientation = getHandle(ori); |
| 47 | feat.size = getHandle(size); |
| 48 | |
| 49 | feat_ = getFeaturesHandle(feat); |
| 50 | descriptor = getHandle<unsigned>(desc); |
| 51 | } |
| 52 | |
| 53 | af_err af_orb(af_features* feat, af_array* desc, const af_array in, |
| 54 | const float fast_thr, const unsigned max_feat, |
no test coverage detected