整理文件位置、项目的包结构,重新命名文件,重新对接Yolo接口

master
Marcus 1 year ago
parent d525a4828d
commit 45b7fe0b57

@ -21,11 +21,11 @@
android:theme="@style/Theme.AppCompat.Light.NoActionBar" android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:label="@string/app_name" > android:label="@string/app_name" >
<activity <activity
android:name="wificar.SettingsActivity" android:name="wificar.activity.AboutActivity"
android:screenOrientation="landscape" android:screenOrientation="landscape"
android:exported="false" /> android:exported="false" />
<activity <activity
android:name="wificar.MyMainFrm" android:name="wificar.activity.MainActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:screenOrientation="landscape" > android:screenOrientation="landscape" >
<intent-filter> <intent-filter>
@ -35,11 +35,11 @@
</intent-filter> </intent-filter>
</activity> <!-- 这里是另外一个Activity的配置 --> </activity> <!-- 这里是另外一个Activity的配置 -->
<activity <activity
android:name="wificar.MyVideo" android:name="wificar.activity.ControlActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name="wificar.BgPictureShowActivity" android:name="wificar.activity.BackgroundActivity"
android:label="拍摄的照片" android:label="拍摄的照片"
android:screenOrientation="landscape" android:screenOrientation="landscape"
android:theme="@android:style/Theme.Dialog" /> android:theme="@android:style/Theme.Dialog" />

@ -56,7 +56,7 @@ JNIEXPORT void JNI_OnUnload(JavaVM *vm, void *reserved) {
Yolov5 Yolov5
********************************************************************************************/ ********************************************************************************************/
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_wificar_YOLOv5_init(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) { Java_wificar_yolo_YOLOv5_init(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) {
if (YoloV5::detector != nullptr) { if (YoloV5::detector != nullptr) {
delete YoloV5::detector; delete YoloV5::detector;
YoloV5::detector = nullptr; YoloV5::detector = nullptr;
@ -68,7 +68,7 @@ Java_wificar_YOLOv5_init(JNIEnv *env, jclass, jobject assetManager, jboolean use
} }
extern "C" JNIEXPORT jobjectArray JNICALL extern "C" JNIEXPORT jobjectArray JNICALL
Java_wificar_YOLOv5_detect(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) { Java_wificar_yolo_YOLOv5_detect(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
auto result = YoloV5::detector->detect(env, image, threshold, nms_threshold); auto result = YoloV5::detector->detect(env, image, threshold, nms_threshold);
auto box_cls = env->FindClass("wificar/Box"); auto box_cls = env->FindClass("wificar/Box");
@ -86,7 +86,7 @@ Java_wificar_YOLOv5_detect(JNIEnv *env, jclass, jobject image, jdouble threshold
// ***************************************[ Yolov5 Custom Layer ]**************************************** // ***************************************[ Yolov5 Custom Layer ]****************************************
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_wificar_YOLOv5_initCustomLayer(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) { Java_wificar_yolo_YOLOv5_initCustomLayer(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) {
if (YoloV5CustomLayer::detector != nullptr) { if (YoloV5CustomLayer::detector != nullptr) {
delete YoloV5CustomLayer::detector; delete YoloV5CustomLayer::detector;
YoloV5CustomLayer::detector = nullptr; YoloV5CustomLayer::detector = nullptr;
@ -98,7 +98,7 @@ Java_wificar_YOLOv5_initCustomLayer(JNIEnv *env, jclass, jobject assetManager, j
} }
extern "C" JNIEXPORT jobjectArray JNICALL extern "C" JNIEXPORT jobjectArray JNICALL
Java_wificar_YOLOv5_detectCustomLayer(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) { Java_wificar_yolo_YOLOv5_detectCustomLayer(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
auto result = YoloV5CustomLayer::detector->detect(env, image, threshold, nms_threshold); auto result = YoloV5CustomLayer::detector->detect(env, image, threshold, nms_threshold);
auto box_cls = env->FindClass("wificar/Box"); auto box_cls = env->FindClass("wificar/Box");
@ -197,7 +197,7 @@ Java_wificar_NanoDet_detect(JNIEnv *env, jclass, jobject image, jdouble threshol
********************************************************************************************/ ********************************************************************************************/
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_wificar_SimplePose_init(JNIEnv *env, jclass clazz, jobject assetManager, jboolean useGPU) { Java_wificar_yolo_SimplePose_init(JNIEnv *env, jclass clazz, jobject assetManager, jboolean useGPU) {
if (SimplePose::detector != nullptr) { if (SimplePose::detector != nullptr) {
delete SimplePose::detector; delete SimplePose::detector;
SimplePose::detector = nullptr; SimplePose::detector = nullptr;
@ -209,7 +209,7 @@ Java_wificar_SimplePose_init(JNIEnv *env, jclass clazz, jobject assetManager, jb
} }
extern "C" JNIEXPORT jobjectArray JNICALL extern "C" JNIEXPORT jobjectArray JNICALL
Java_wificar_SimplePose_detect(JNIEnv *env, jclass clazz, jobject image) { Java_wificar_yolo_SimplePose_detect(JNIEnv *env, jclass clazz, jobject image) {
auto result = SimplePose::detector->detect(env, image); auto result = SimplePose::detector->detect(env, image);
auto box_cls = env->FindClass("wificar/KeyPoint"); auto box_cls = env->FindClass("wificar/KeyPoint");

@ -1,17 +1,15 @@
package wificar; package wificar.activity;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.Button; import android.widget.Button;
import my.wificar.R; import my.wificar.R;
public class SettingsActivity extends AppCompatActivity { public class AboutActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {

@ -1,6 +1,4 @@
package wificar; package wificar.activity;
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
@ -13,8 +11,6 @@ import android.util.Log;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.AnimationUtils; import android.view.animation.AnimationUtils;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemClickListener;
@ -32,7 +28,7 @@ import java.util.List;
import my.wificar.R; import my.wificar.R;
public class BgPictureShowActivity extends Activity implements public class BackgroundActivity extends Activity implements
AdapterView.OnItemSelectedListener, ViewSwitcher.ViewFactory { AdapterView.OnItemSelectedListener, ViewSwitcher.ViewFactory {
/* /*
* *
@ -75,7 +71,7 @@ public class BgPictureShowActivity extends Activity implements
g.setOnItemClickListener(new OnItemClickListener() { g.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, public void onItemClick(AdapterView<?> parent,
View v, int position, long id) { View v, int position, long id) {
Toast.makeText(BgPictureShowActivity.this, "µÚ" + (position + 1) + "ÕÅͼƬ", Toast.LENGTH_SHORT).show(); Toast.makeText(BackgroundActivity.this, "µÚ" + (position + 1) + "ÕÅͼƬ", Toast.LENGTH_SHORT).show();
} }
}); });
} catch (Exception e) { } catch (Exception e) {

@ -1,8 +1,7 @@
package wificar; package wificar.activity;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.os.StrictMode; import android.os.StrictMode;
import android.util.Log; import android.util.Log;
@ -29,8 +28,13 @@ import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
import my.wificar.R; import my.wificar.R;
import wificar.Configuration;
import wificar.components.MySurfaceView;
import wificar.components.RockerView;
import wificar.network.SocketListener;
import wificar.network.SoundSocketListener;
public class MyVideo extends Activity { public class ControlActivity extends Activity {
public static String CameraIp; public static String CameraIp;
public static String CtrlIp; public static String CtrlIp;
public static String CtrlPort; public static String CtrlPort;

@ -1,31 +1,21 @@
package wificar; package wificar.activity;
/*Rwww.xiao-r.com
* FPV-WIFI·www.wifi-robots.com
*
* R
* */
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle; import android.os.Bundle;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.Toast; import android.widget.Toast;
import java.util.Random;
import my.wificar.R; import my.wificar.R;
import wificar.Configuration;
import wificar.yolo.SimplePose;
import wificar.yolo.YOLOv5;
public class MyMainFrm extends Activity { public class MainActivity extends Activity {
// EditText CameraIP, ControlIP, Port; // EditText CameraIP, ControlIP, Port;
LinearLayout Button_go; LinearLayout Button_go;
@ -76,7 +66,7 @@ public class MyMainFrm extends Activity {
intent.putExtra("Is_Scale", true); intent.putExtra("Is_Scale", true);
//设置Intent对象要启动的Activity //设置Intent对象要启动的Activity
intent.setClass(MyMainFrm.this, MyVideo.class); intent.setClass(MainActivity.this, ControlActivity.class);
//通过Intent对象启动另外一个Activity //通过Intent对象启动另外一个Activity
startActivity(intent); startActivity(intent);
}); });
@ -92,7 +82,7 @@ public class MyMainFrm extends Activity {
intent.putExtra("Is_Scale", true); intent.putExtra("Is_Scale", true);
//设置Intent对象要启动的Activity //设置Intent对象要启动的Activity
intent.setClass(MyMainFrm.this, SettingsActivity.class); intent.setClass(MainActivity.this, AboutActivity.class);
//通过Intent对象启动另外一个Activity //通过Intent对象启动另外一个Activity
startActivity(intent); startActivity(intent);
}); });

@ -1,47 +1,27 @@
package wificar; package wificar.components;
/*Rwww.xiao-r.com
* FPV-WIFI·www.wifi-robots.com
*
* R
* */
import android.Manifest; import android.Manifest;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.ImageFormat;
import android.graphics.Matrix;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.YuvImage;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle;
import android.os.Environment; import android.os.Environment;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
import android.util.Size;
import android.view.SurfaceHolder; import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback; import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView; import android.view.SurfaceView;
import android.widget.ImageView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
import androidx.lifecycle.LifecycleOwner;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
@ -50,13 +30,19 @@ import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.nio.ByteBuffer;
import java.util.Random; import java.util.Random;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import my.wificar.R; import my.wificar.R;
import wificar.Configuration;
import wificar.activity.ControlActivity;
import wificar.yolo.Box;
import wificar.yolo.Constant;
import wificar.yolo.KeyPoint;
import wificar.yolo.SimplePose;
import wificar.yolo.YOLOv5;
import wseemann.media.FFmpegMediaMetadataRetriever; import wseemann.media.FFmpegMediaMetadataRetriever;
public class MySurfaceView extends SurfaceView implements Callback { public class MySurfaceView extends SurfaceView implements Callback {
@ -74,12 +60,12 @@ public class MySurfaceView extends SurfaceView implements Callback {
private Bitmap mBitmap; private Bitmap mBitmap;
private boolean isThreadRunning = true; private boolean isThreadRunning = true;
private MyVideo activity; private ControlActivity activity;
private MySurfaceView floatingView; private MySurfaceView floatingView;
public MySurfaceView(Context context, AttributeSet attrs) { public MySurfaceView(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
activity = (MyVideo) context; activity = (ControlActivity) context;
Constant.context = context; Constant.context = context;
initialize(); initialize();
p = new Paint(); p = new Paint();

@ -1,4 +1,4 @@
package wificar; package wificar.components;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;

@ -1,4 +1,4 @@
package wificar; package wificar.network;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
@ -20,6 +20,7 @@ import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import my.wificar.R; import my.wificar.R;
import wificar.Configuration;
public class SocketListener { public class SocketListener {
private Activity activity; private Activity activity;

@ -1,4 +1,4 @@
package wificar; package wificar.network;
import android.app.Activity; import android.app.Activity;
import android.os.AsyncTask; import android.os.AsyncTask;

@ -1,4 +1,4 @@
package wificar; package wificar.yolo;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.RectF; import android.graphics.RectF;

@ -1,4 +1,4 @@
package wificar; package wificar.yolo;
/*Rwww.xiao-r.com /*Rwww.xiao-r.com
* FPV-WIFI·www.wifi-robots.com * FPV-WIFI·www.wifi-robots.com
* *

@ -1,4 +1,4 @@
package wificar; package wificar.yolo;
public class KeyPoint { public class KeyPoint {

@ -1,4 +1,4 @@
package wificar; package wificar.yolo;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;

@ -1,8 +1,10 @@
package wificar; package wificar.yolo;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import wificar.yolo.Box;
public class YOLOv5 { public class YOLOv5 {
static { static {
System.loadLibrary("yolov5"); System.loadLibrary("yolov5");

@ -5,7 +5,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/settings_background" android:background="@drawable/settings_background"
tools:context="wificar.SettingsActivity"> tools:context="wificar.activity.AboutActivity">
<Button <Button
android:id="@+id/back" android:id="@+id/back"

@ -4,7 +4,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<!-- <wificar.RockerView--> <!-- <wificar.components.RockerView-->
<!-- android:layout_width="100dp"--> <!-- android:layout_width="100dp"-->
<!-- android:layout_height="100dp"--> <!-- android:layout_height="100dp"-->
<!-- android:layout_marginStart="200dp"--> <!-- android:layout_marginStart="200dp"-->
@ -13,7 +13,7 @@
<!-- android:layout_marginBottom="200dp"--> <!-- android:layout_marginBottom="200dp"-->
<!-- android:visibility="visible"--> <!-- android:visibility="visible"-->
<!-- tools:visibility="visible" />--> <!-- tools:visibility="visible" />-->
<wificar.MySurfaceView <wificar.components.MySurfaceView
android:id="@+id/mySurfaceViewVideo" android:id="@+id/mySurfaceViewVideo"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"

Loading…
Cancel
Save