mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-05 08:37:06 +08:00
[Bug Fix] fix android app detail page errors (#624)
This commit is contained in:
@@ -11,18 +11,18 @@
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/segmentation_app_name"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
<activity android:name=".segmentation.SegmentationMainActivity">
|
||||
<activity android:name=".detection.DetectionMainActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".segmentation.SegmentationSettingsActivity"
|
||||
android:name=".detection.DetectionSettingsActivity"
|
||||
android:label="Settings">
|
||||
</activity>
|
||||
</application>
|
||||
|
@@ -20,6 +20,7 @@ import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
@@ -64,8 +65,10 @@ public class ClassificationMainActivity extends Activity implements View.OnClick
|
||||
private TextView seekbarText;
|
||||
private float resultNum = 1.0f;
|
||||
private ResultListView resultView;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap picBitmap;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap originPicBitmap;
|
||||
private Bitmap originShutterBitmap;
|
||||
private boolean isShutterBitmapCopied = false;
|
||||
|
||||
public static final int TYPE_UNKNOWN = -1;
|
||||
@@ -103,13 +106,13 @@ public class ClassificationMainActivity extends Activity implements View.OnClick
|
||||
// Clear all setting items to avoid app crashing due to the incorrect settings
|
||||
initSettings();
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
|
||||
// Check and request CAMERA and WRITE_EXTERNAL_STORAGE permissions
|
||||
if (!checkAllPermissions()) {
|
||||
requestAllPermissions();
|
||||
}
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
}
|
||||
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@@ -216,6 +219,7 @@ public class ClassificationMainActivity extends Activity implements View.OnClick
|
||||
if (!ARGB8888ImageBitmap.isRecycled()) {
|
||||
synchronized (this) {
|
||||
shutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
originShutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL);
|
||||
isShutterBitmapCopied = true;
|
||||
@@ -234,6 +238,7 @@ public class ClassificationMainActivity extends Activity implements View.OnClick
|
||||
Uri uri = data.getData();
|
||||
String path = getRealPathFromURI(this, uri);
|
||||
picBitmap = decodeBitmap(path, 720, 1280);
|
||||
originPicBitmap = picBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
resultImage.setImageBitmap(picBitmap);
|
||||
}
|
||||
}
|
||||
@@ -264,12 +269,16 @@ public class ClassificationMainActivity extends Activity implements View.OnClick
|
||||
copyBitmapFromCamera(ARGB8888ImageBitmap);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean modified = false;
|
||||
|
||||
long tc = System.currentTimeMillis();
|
||||
ClassifyResult result = predictor.predict(ARGB8888ImageBitmap);
|
||||
ClassifyResult result = predictor.predict(ARGB8888ImageBitmap,
|
||||
true, ClassificationSettingsActivity.scoreThreshold);
|
||||
timeElapsed += (System.currentTimeMillis() - tc);
|
||||
Visualize.visClassification(ARGB8888ImageBitmap, result, resultNum, 12);
|
||||
|
||||
modified = result.initialized();
|
||||
|
||||
frameCounter++;
|
||||
if (frameCounter >= 30) {
|
||||
final int fps = (int) (1000 / (timeElapsed / 30));
|
||||
@@ -362,10 +371,11 @@ public class ClassificationMainActivity extends Activity implements View.OnClick
|
||||
if (TYPE == ALBUM_SELECT) {
|
||||
SystemClock.sleep(500);
|
||||
detail(picBitmap);
|
||||
picBitmap = originPicBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
} else {
|
||||
SystemClock.sleep(500);
|
||||
svPreview.onPause();
|
||||
detail(shutterBitmap);
|
||||
shutterBitmap = originShutterBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -374,26 +384,25 @@ public class ClassificationMainActivity extends Activity implements View.OnClick
|
||||
}
|
||||
|
||||
private void detail(Bitmap bitmap) {
|
||||
ClassifyResult result = predictor.predict(bitmap, true, ClassificationSettingsActivity.scoreThreshold);
|
||||
if (scores == null) {
|
||||
scores = result.mScores;
|
||||
}
|
||||
if (labelId == null) {
|
||||
labelId = result.mLabelIds;
|
||||
}
|
||||
|
||||
ClassifyResult result = predictor.predict(bitmap, true, resultNum);
|
||||
|
||||
scores = result.mScores;
|
||||
labelId = result.mLabelIds;
|
||||
|
||||
initialized = result.initialized();
|
||||
if (initialized) {
|
||||
for (int i = 0; i < labelId.length; i++) {
|
||||
for (int j = 0; j < labelText.size(); j++) {
|
||||
if (scores[i] > resultNum) {
|
||||
if (labelId[i] == Integer.parseInt(labelText.get(j).substring(0, labelText.get(j).indexOf(" ")))) {
|
||||
results.add(new BaseResultModel(labelId[i], labelText.get(j), scores[i]));
|
||||
}
|
||||
}
|
||||
if (scores[i] > resultNum) {
|
||||
Log.d(TAG, "[fastdeploy] detail: scores[i]: " + scores[i]);
|
||||
int idx = labelId[i];
|
||||
String text = labelText.get(idx);
|
||||
text = text.substring(text.indexOf(" "));
|
||||
results.add(new BaseResultModel(idx, text, scores[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
BaseResultAdapter adapter = new BaseResultAdapter(getBaseContext(), R.layout.ocr_result_page_item, results);
|
||||
BaseResultAdapter adapter = new BaseResultAdapter(getBaseContext(), R.layout.classification_result_page_item, results);
|
||||
resultView.setAdapter(adapter);
|
||||
resultView.invalidate();
|
||||
|
||||
|
@@ -16,6 +16,7 @@ import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
@@ -64,8 +65,10 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe
|
||||
private TextView seekbarText;
|
||||
private float resultNum = 1.0f;
|
||||
private ResultListView resultView;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap picBitmap;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap originPicBitmap;
|
||||
private Bitmap originShutterBitmap;
|
||||
private boolean isShutterBitmapCopied = false;
|
||||
|
||||
public static final int TYPE_UNKNOWN = -1;
|
||||
@@ -103,13 +106,13 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe
|
||||
// Clear all setting items to avoid app crashing due to the incorrect settings
|
||||
initSettings();
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
|
||||
// Check and request CAMERA and WRITE_EXTERNAL_STORAGE permissions
|
||||
if (!checkAllPermissions()) {
|
||||
requestAllPermissions();
|
||||
}
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
}
|
||||
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@@ -215,6 +218,7 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe
|
||||
if (!ARGB8888ImageBitmap.isRecycled()) {
|
||||
synchronized (this) {
|
||||
shutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
originShutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL);
|
||||
isShutterBitmapCopied = true;
|
||||
@@ -233,6 +237,7 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe
|
||||
Uri uri = data.getData();
|
||||
String path = getRealPathFromURI(this, uri);
|
||||
picBitmap = decodeBitmap(path, 720, 1280);
|
||||
originPicBitmap = picBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
resultImage.setImageBitmap(picBitmap);
|
||||
}
|
||||
}
|
||||
@@ -263,12 +268,16 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe
|
||||
copyBitmapFromCamera(ARGB8888ImageBitmap);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean modified = false;
|
||||
|
||||
long tc = System.currentTimeMillis();
|
||||
DetectionResult result = predictor.predict(ARGB8888ImageBitmap);
|
||||
timeElapsed += (System.currentTimeMillis() - tc);
|
||||
|
||||
Visualize.visDetection(ARGB8888ImageBitmap, result, DetectionSettingsActivity.scoreThreshold);
|
||||
modified = result.initialized();
|
||||
|
||||
frameCounter++;
|
||||
if (frameCounter >= 30) {
|
||||
final int fps = (int) (1000 / (timeElapsed / 30));
|
||||
@@ -361,10 +370,12 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe
|
||||
if (TYPE == ALBUM_SELECT) {
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL * 10);
|
||||
detail(picBitmap);
|
||||
picBitmap = originPicBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
} else {
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL * 10);
|
||||
svPreview.onPause();
|
||||
// svPreview.onPause();
|
||||
detail(shutterBitmap);
|
||||
shutterBitmap = originShutterBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -373,27 +384,24 @@ public class DetectionMainActivity extends Activity implements View.OnClickListe
|
||||
}
|
||||
|
||||
private void detail(Bitmap bitmap) {
|
||||
DetectionResult result = predictor.predict(
|
||||
bitmap, true, DetectionSettingsActivity.scoreThreshold);
|
||||
if (scores == null) {
|
||||
scores = result.mScores;
|
||||
}
|
||||
if (labelId == null) {
|
||||
labelId = result.mLabelIds;
|
||||
}
|
||||
|
||||
DetectionResult result = predictor.predict(bitmap, true, resultNum);
|
||||
|
||||
scores = result.mScores;
|
||||
labelId = result.mLabelIds;
|
||||
|
||||
initialized = result.initialized();
|
||||
if (initialized) {
|
||||
for (int i = 0; i < labelId.length; i++) {
|
||||
for (int j = 0; j < labelText.size(); j++) {
|
||||
if (scores[i] > resultNum) {
|
||||
if (labelId[i] == j) {
|
||||
results.add(new BaseResultModel(labelId[i], labelText.get(j), scores[i]));
|
||||
}
|
||||
}
|
||||
if (scores[i] > resultNum) {
|
||||
Log.d(TAG, "[fastdeploy] detail: scores[i]: " + scores[i]);
|
||||
int idx = labelId[i];
|
||||
String text = labelText.get(idx);
|
||||
results.add(new BaseResultModel(idx, text, scores[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
BaseResultAdapter adapter = new BaseResultAdapter(getBaseContext(), R.layout.ocr_result_page_item, results);
|
||||
BaseResultAdapter adapter = new BaseResultAdapter(getBaseContext(), R.layout.detection_result_page_item, results);
|
||||
resultView.setAdapter(adapter);
|
||||
resultView.invalidate();
|
||||
|
||||
|
@@ -64,8 +64,10 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
private TextView seekbarText;
|
||||
private float resultNum = 1.0f;
|
||||
private ResultListView resultView;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap picBitmap;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap originPicBitmap;
|
||||
private Bitmap originShutterBitmap;
|
||||
private boolean isShutterBitmapCopied = false;
|
||||
|
||||
public static final int TYPE_UNKNOWN = -1;
|
||||
@@ -101,13 +103,13 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
// Clear all setting items to avoid app crashing due to the incorrect settings
|
||||
initSettings();
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
|
||||
// Check and request CAMERA and WRITE_EXTERNAL_STORAGE permissions
|
||||
if (!checkAllPermissions()) {
|
||||
requestAllPermissions();
|
||||
}
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
}
|
||||
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@@ -210,6 +212,7 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
if (!ARGB8888ImageBitmap.isRecycled()) {
|
||||
synchronized (this) {
|
||||
shutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
originShutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL);
|
||||
isShutterBitmapCopied = true;
|
||||
@@ -228,6 +231,7 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
Uri uri = data.getData();
|
||||
String path = getRealPathFromURI(this, uri);
|
||||
picBitmap = decodeBitmap(path, 720, 1280);
|
||||
originPicBitmap = picBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
resultImage.setImageBitmap(picBitmap);
|
||||
}
|
||||
}
|
||||
@@ -259,12 +263,14 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
copyBitmapFromCamera(ARGB8888ImageBitmap);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean modified = false;
|
||||
|
||||
long tc = System.currentTimeMillis();
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL);
|
||||
FaceDetectionResult result = predictor.predict(
|
||||
ARGB8888ImageBitmap, FaceDetSettingsActivity.scoreThreshold, 0.4f);
|
||||
timeElapsed += (System.currentTimeMillis() - tc);
|
||||
|
||||
Visualize.visFaceDetection(ARGB8888ImageBitmap, result);
|
||||
modified = result.initialized();
|
||||
frameCounter++;
|
||||
@@ -310,8 +316,12 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
|
||||
public void initView() {
|
||||
TYPE = REALTIME_DETECT;
|
||||
CameraSurfaceView.EXPECTED_PREVIEW_WIDTH = 720;
|
||||
CameraSurfaceView.EXPECTED_PREVIEW_HEIGHT = 360;
|
||||
svPreview = (CameraSurfaceView) findViewById(R.id.sv_preview);
|
||||
svPreview.setOnTextureChangedListener(this);
|
||||
svPreview.switchCamera(); // Front camera for HumanSeg
|
||||
|
||||
tvStatus = (TextView) findViewById(R.id.tv_status);
|
||||
btnSwitch = (ImageButton) findViewById(R.id.btn_switch);
|
||||
btnSwitch.setOnClickListener(this);
|
||||
@@ -359,10 +369,11 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
if (TYPE == ALBUM_SELECT) {
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL * 10); // 500ms
|
||||
detail(picBitmap);
|
||||
picBitmap = originPicBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
} else {
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL * 10); // 500ms
|
||||
svPreview.onPause();
|
||||
detail(shutterBitmap);
|
||||
shutterBitmap = originShutterBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -371,12 +382,11 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
}
|
||||
|
||||
private void detail(Bitmap bitmap) {
|
||||
FaceDetectionResult result = predictor.predict(bitmap, true, FaceDetSettingsActivity.scoreThreshold, 0.4f);
|
||||
if (scores == null) {
|
||||
scores = result.mScores;
|
||||
}
|
||||
FaceDetectionResult result = predictor.predict(bitmap, true, resultNum, 0.4f);
|
||||
|
||||
scores = result.mScores;
|
||||
|
||||
initialized = result.initialized();
|
||||
Log.e("GBD", initialized + "---initialized");
|
||||
if (initialized) {
|
||||
for (int i = 0; i < scores.length; i++) {
|
||||
if (scores[i] > resultNum) {
|
||||
@@ -384,7 +394,7 @@ public class FaceDetMainActivity extends Activity implements View.OnClickListene
|
||||
}
|
||||
}
|
||||
}
|
||||
BaseResultAdapter adapter = new BaseResultAdapter(getBaseContext(), R.layout.ocr_result_page_item, results);
|
||||
BaseResultAdapter adapter = new BaseResultAdapter(getBaseContext(), R.layout.facedet_result_page_item, results);
|
||||
resultView.setAdapter(adapter);
|
||||
resultView.invalidate();
|
||||
|
||||
|
@@ -66,8 +66,10 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
private TextView seekbarText;
|
||||
private float resultNum = 1.0f;
|
||||
private ResultListView resultView;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap picBitmap;
|
||||
private Bitmap shutterBitmap;
|
||||
private Bitmap originPicBitmap;
|
||||
private Bitmap originShutterBitmap;
|
||||
private boolean isShutterBitmapCopied = false;
|
||||
|
||||
public static final int TYPE_UNKNOWN = -1;
|
||||
@@ -104,13 +106,13 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
// Clear all setting items to avoid app crashing due to the incorrect settings
|
||||
initSettings();
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
|
||||
// Check and request CAMERA and WRITE_EXTERNAL_STORAGE permissions
|
||||
if (!checkAllPermissions()) {
|
||||
requestAllPermissions();
|
||||
}
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
}
|
||||
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@@ -216,6 +218,7 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
if (!ARGB8888ImageBitmap.isRecycled()) {
|
||||
synchronized (this) {
|
||||
shutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
originShutterBitmap = ARGB8888ImageBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL);
|
||||
isShutterBitmapCopied = true;
|
||||
@@ -235,6 +238,7 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
Uri uri = data.getData();
|
||||
String path = getRealPathFromURI(this, uri);
|
||||
picBitmap = decodeBitmap(path, 720, 1280);
|
||||
originPicBitmap = picBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
resultImage.setImageBitmap(picBitmap);
|
||||
}
|
||||
}
|
||||
@@ -265,12 +269,16 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
copyBitmapFromCamera(ARGB8888ImageBitmap);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean modified = false;
|
||||
|
||||
long tc = System.currentTimeMillis();
|
||||
OCRResult result = predictor.predict(ARGB8888ImageBitmap, true);
|
||||
OCRResult result = predictor.predict(ARGB8888ImageBitmap);
|
||||
timeElapsed += (System.currentTimeMillis() - tc);
|
||||
|
||||
Visualize.visOcr(ARGB8888ImageBitmap, result);
|
||||
modified = result.initialized();
|
||||
|
||||
frameCounter++;
|
||||
if (frameCounter >= 30) {
|
||||
final int fps = (int) (1000 / (timeElapsed / 30));
|
||||
@@ -363,10 +371,11 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
if (TYPE == ALBUM_SELECT) {
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL * 10);
|
||||
detail(picBitmap);
|
||||
picBitmap = originPicBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
} else {
|
||||
SystemClock.sleep(TIME_SLEEP_INTERVAL * 10);
|
||||
svPreview.onPause();
|
||||
detail(shutterBitmap);
|
||||
shutterBitmap = originShutterBitmap.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -376,12 +385,10 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
|
||||
private void detail(Bitmap bitmap) {
|
||||
OCRResult result = predictor.predict(bitmap, true);
|
||||
if (texts == null) {
|
||||
texts = result.mText;
|
||||
}
|
||||
if (recScores == null) {
|
||||
recScores = result.mRecScores;
|
||||
}
|
||||
|
||||
texts = result.mText;
|
||||
recScores = result.mRecScores;
|
||||
|
||||
initialized = result.initialized();
|
||||
if (initialized) {
|
||||
for (int i = 0; i < texts.length; i++) {
|
||||
|
@@ -97,13 +97,13 @@ public class SegmentationMainActivity extends Activity implements View.OnClickLi
|
||||
// Clear all setting items to avoid app crashing due to the incorrect settings
|
||||
initSettings();
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
|
||||
// Check and request CAMERA and WRITE_EXTERNAL_STORAGE permissions
|
||||
if (!checkAllPermissions()) {
|
||||
requestAllPermissions();
|
||||
}
|
||||
|
||||
// Init the camera preview and UI components
|
||||
initView();
|
||||
}
|
||||
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@@ -253,12 +253,16 @@ public class SegmentationMainActivity extends Activity implements View.OnClickLi
|
||||
copyBitmapFromCamera(ARGB8888ImageBitmap);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean modified = false;
|
||||
|
||||
long tc = System.currentTimeMillis();
|
||||
SegmentationResult result = predictor.predict(ARGB8888ImageBitmap);
|
||||
timeElapsed += (System.currentTimeMillis() - tc);
|
||||
|
||||
Visualize.visSegmentation(ARGB8888ImageBitmap, result);
|
||||
modified = result.initialized();
|
||||
|
||||
frameCounter++;
|
||||
if (frameCounter >= 30) {
|
||||
final int fps = (int) (1000 / (timeElapsed / 30));
|
||||
@@ -302,8 +306,12 @@ public class SegmentationMainActivity extends Activity implements View.OnClickLi
|
||||
|
||||
public void initView() {
|
||||
TYPE = REALTIME_DETECT;
|
||||
CameraSurfaceView.EXPECTED_PREVIEW_WIDTH = 720;
|
||||
CameraSurfaceView.EXPECTED_PREVIEW_HEIGHT = 360;
|
||||
svPreview = (CameraSurfaceView) findViewById(R.id.sv_preview);
|
||||
svPreview.setOnTextureChangedListener(this);
|
||||
svPreview.switchCamera(); // Front camera for HumanSeg
|
||||
|
||||
tvStatus = (TextView) findViewById(R.id.tv_status);
|
||||
btnSwitch = (ImageButton) findViewById(R.id.btn_switch);
|
||||
btnSwitch.setOnClickListener(this);
|
||||
|
Reference in New Issue
Block a user