Add support for A8 remote control to opi_rtsp test app

This commit is contained in:
Your Name
2024-07-04 11:02:18 +03:00
parent a14e463989
commit dfe3c7c561
6 changed files with 32 additions and 9 deletions
+22 -1
View File
@@ -1,6 +1,7 @@
#include <QDebug>
#include <QVector>
#include "aienginegimbalcontrol.h"
AiEngineGimbalControl::AiEngineGimbalControl(QObject *parent)
: QObject{parent}
{}
@@ -37,6 +38,10 @@ AiEngineRectangle AiEngineGimbalControl::getGroupCoordinates(QVector<AiEngineObj
void AiEngineGimbalControl::inferenceResultSlot(AiEngineInferenceResult result)
{
if (result.objects.size() == 0) {
return;
}
// We got list of all recognized objects, but at least for now we will zoom to all objects at
// once and not for each invidually. Got minimal coordinates which contains the all objects.
AiEngineRectangle groupRect = getGroupCoordinates(result.objects);
@@ -46,4 +51,20 @@ void AiEngineGimbalControl::inferenceResultSlot(AiEngineInferenceResult result)
groupRect.left *= 2;
groupRect.bottom *= 2;
groupRect.right *= 2;
if (groupRect.top > 720 || groupRect.bottom > 720) {
return;
}
if (groupRect.left > 1280 || groupRect.right > 1280) {
return;
}
if ((groupRect.bottom <= groupRect.top) || (groupRect.right <= groupRect.left)) {
return;
}
qDebug() << "TUOMAS!! Zooming to square" << groupRect.top << "x" << groupRect.left << "and" << groupRect.bottom << "x" << groupRect.right;
mRemoteControl.sendData(groupRect.top, groupRect.left, groupRect.left, groupRect.right);
}
+2
View File
@@ -3,6 +3,7 @@
#include <QObject>
#include <QElapsedTimer>
#include "aiengineinference.h"
#include "remoteControl.hpp"
class AiEngineGimbalControl : public QObject
{
@@ -12,6 +13,7 @@ public:
private:
AiEngineRectangle getGroupCoordinates(QVector<AiEngineObject> &objects);
RemoteControl mRemoteControl;
public slots:
void inferenceResultSlot(AiEngineInferenceResult results);
+2 -2
View File
@@ -10,10 +10,10 @@ HEADERS = $$PWD/*.h
opi5 {
message("OPI5 build")
PKGCONFIG += opencv4 librga stb libturbojpeg
INCLUDEPATH += /usr/include/rga # not correct in pkg-config file
INCLUDEPATH += /usr/include/rga $$PWD/../../misc/camera/a8_remote
QMAKE_CXXFLAGS += -DOPI5_BUILD
LIBS += /usr/local/lib/librknnrt.so
SOURCES += $$PWD/src-opi5/*.c $$PWD/src-opi5/*.cpp $$PWD/src-opi5/*.cc
SOURCES += $$PWD/src-opi5/*.c $$PWD/src-opi5/*.cpp $$PWD/src-opi5/*.cc $$PWD/../../misc/camera/a8_remote/remoteControl.cpp
HEADERS += $$PWD/src-opi5/*.h
} else {
message("ONNX build")