From f1d499a440c105accf87558aaddd9e155ef1fb82 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 28 四月 2017 17:12:23 +0800
Subject: [PATCH] optimize
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java | 59 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 37 insertions(+), 22 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
index 61fee8a..799349e 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -11,6 +11,7 @@
import java.util.ArrayList;
import java.util.List;
+import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
import cn.com.basic.face.fragment.RegisterFragment;
@@ -34,15 +35,6 @@
public byte[][] arr2;
}
-class NativeImg
-{
- public int size;
- public int type;
- public int width;
- public int height;
- public byte[] image;
-}
-
public class RtspFaceNative {
@@ -57,23 +49,36 @@
public static native boolean setFaceCallback(int cameraIdx, String className, String funcName);
public static native void lockFace(int cameraIdx);
public static native void releaseFace(int cameraIdx);
- public static native int getFaceList(int cameraIdx, RefByteArray faceListPb);
+ public static native int getFaceList(int cameraIdx, int dbId, RefByteArray faceListPb);
//public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, RefByteArray faceImages);
public static native ArrayList<NativeImg> getFaceImages(int cameraIdx);
- public static void faceCallBack(int cameraInOrOut, int count)
+ public static native void dbgFaceAdd(NativeImg faceImage);
+ public static native String dbgGetLog();
+
+
+ public static int COMPANY_ID = 1001;
+
+ public static void faceCallBack(int cameraIdx, int count)
{
- Log.i("@@@", "RtspFaceNative.faceCallBack, cameraIdx=" + cameraInOrOut + ", count=" + count);
+ Log.i("@@@", "RtspFaceNative.faceCallBack, cameraIdx=" + cameraIdx + ", count=" + count);
// something else
if (count <= 0)
return;
- lockFace(cameraInOrOut);
+ lockFace(cameraIdx);
RefByteArray faceListPb = new RefByteArray();
- int s = getFaceList(cameraInOrOut, faceListPb);
- Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceList, cameraIdx=" + cameraInOrOut + ", size=" + s);
+
+ try {
+ COMPANY_ID = Integer.parseInt(BaseApplication.getInstance().getDevice().getDeviceCompanyId());
+ } catch (Exception e) {
+ COMPANY_ID = 0;
+ }
+
+ int s = getFaceList(cameraIdx, COMPANY_ID, faceListPb);
+ Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceList, cameraIdx=" + cameraIdx + ", size=" + s);
//RefByteArray faceImages = new RefByteArray();
//ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
@@ -82,21 +87,31 @@
// c = faceImagesIdx.size();
//Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c);
- ArrayList<NativeImg> faceImages = getFaceImages(cameraInOrOut);
+ ArrayList<NativeImg> faceImages = getFaceImages(cameraIdx);
int c = 0;
if (faceImages != null)
c = faceImages.size();
- Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraInOrOut + ", count=" + c);
+ Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c);
for (int i = 0; i < c; i++)
{
- Log.i("@@@", "cameraIdx=" + cameraInOrOut +
+ Log.i("@@@", "cameraIdx=" + cameraIdx +
", i=" + i +
", size=" + faceImages.get(i).size+
", w=" + faceImages.get(i).width +
", h=" + faceImages.get(i).height +
", image[0]=" + faceImages.get(i).image[0] +
", image[1]=" + faceImages.get(i).image[1]);
+
+ if (i == 0)
+ {
+ //Bitmap bitmap = Bitmap.createBitmap(faceImages.get(i).width, faceImages.get(i).height, Bitmap.Config.RGB_565);
+ //ByteBuffer byteBuffer = ByteBuffer.wrap(faceImages.get(i).image, 0, faceImages.get(i).size);
+ //bitmap.copyPixelsFromBuffer(byteBuffer);
+ //NativeCodec.setFaceDrawable(bitmap);
+
+ //NativeCodec.setFaceDrawable(faceImages.get(i));
+ }
}
try{
@@ -106,22 +121,22 @@
SurveillanceQueryItem surveillanceQueryItem = new SurveillanceQueryItem();
int offset = 0;
int size = item.size;
- Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.RGB_565);
+ Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.ARGB_8888);
ByteBuffer byteBuffer = ByteBuffer.wrap(item.image, offset, size);
bitmap.copyPixelsFromBuffer(byteBuffer);
- surveillanceQueryItem.setBase64Bitmap(Base64.encodeToString(item.image, offset, size, Base64.DEFAULT));
+ surveillanceQueryItem.setBase64Image(Base64.encodeToString(item.image, offset, size, Base64.DEFAULT));
surveillanceQueryItem.setBitmap(bitmap);
surveillanceQueryItem.setWidth(item.width+"");
surveillanceQueryItem.setHeight(item.height+"");
bitmapList.add(surveillanceQueryItem);
}
- SurveillanceMng.getInstance().addBitmap(bitmapList, faceListPb.arr, s, cameraInOrOut+"");
+ SurveillanceMng.getInstance().addBitmap(bitmapList, faceListPb.arr, s, cameraIdx+"");
}catch(Exception e){
e.printStackTrace();
}
- releaseFace(cameraInOrOut);
+ releaseFace(cameraIdx);
}
}
--
Gitblit v1.8.0