Я пытаюсь разработать приложение для Android-распознавания образов ... Я использую настраиваемую камеру с использованием поверхностного вида .... As Here в андроиде для захвата изображений ... Я хочу обработать захваченные изображения используя opencv, как я могу получить захваченное изображение и преобразовать его в мат? также есть способ сохранить захваченное изображение Temporary? заранее спасибоOpenCv с Android Camera Surfaceview
3
A
ответ
2
Я предполагаю, что вы успешно добавили библиотеку opencv в свой проект.
Вот пример кода с использованием OpenCV4android.
public class SampleCameraFrameAccessActivity extends Activity implements CvCameraViewListener2, OnTouchListener{
private static final String TAG = "SampleCameraFrameAccessActivity";
protected CameraBridgeViewBase cameraPreview;
protected Mat mRgba;
protected BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
Log.i(TAG, "OpenCV loaded successfully");
// mOpenCvCameraView.enableView();
// mOpenCvCameraView.setOnTouchListener(ColorRegionDetectionActivity.this);
cameraPreview.enableView();
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.camera_sample_layout);
cameraPreview = (CameraBridgeViewBase) findViewById(R.id.sample_test_camera_view);
cameraPreview.setCvCameraViewListener(this);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(cameraPreview != null){
cameraPreview.disableView();
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
}
@Override
public void onCameraViewStarted(int width, int height) {
// TODO Auto-generated method stub
mRgba = new Mat(height, width, CvType.CV_8UC4);
}
@Override
public void onCameraViewStopped() {
// TODO Auto-generated method stub
mRgba.release();
}
@Override
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
// TODO Auto-generated method stub
mRgba = inputFrame.rgba();
return mRgba;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
}
И файл макета XML является:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sample_test_layout" >
<org.opencv.android.JavaCameraView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sample_test_camera_view" />
</RelativeLayout>
В методе onCameraFrame вы можете получить доступ каждый кадр из буфера кадра камеры. если вы хотите захватить изображение, вы можете добавить кнопку и взять определенный кадр из буфера и обработать его. Кадр задается как объект Mat по умолчанию. Так что вам не нужно его преобразовывать. после обработки, если вам нужно его преобразовать в растровое изображение, вы можете позвонить Utils.matToBitmap (мат, bmp); метод для этого.
Смежные вопросы
- 1. Android Camera SurfaceView Ориентация
- 2. Android: Camera with SurfaceView
- 3. android custom camera stretched surfaceview
- 4. OpenCV Android Camera Not Fullscreen
- 5. Android Camera Bug
- 6. Opencv 3.1.0 Android Hide Camera Preview
- 7. Teensy + IR camera + OpenCV
- 8. Camera App - Android
- 9. samsung galaxy ace surfaceview/camera error
- 10. Android камеры SurfaceView сфотографировать
- 11. Съемка с сервисом с/без SurfaceView (android)
- 12. Android 6 Native Camera
- 13. Проблемы с камерой CameraControls/Camera Zoom/SurfaceView - в чем причина?
- 14. Sony Ip camera opencv Java
- 15. OpenCV Capture from external camera
- 16. OpenCV + Python + GigE Vision Camera
- 17. Список разрешений (OpenCv, Python, Camera)
- 18. Использование модуля Pi Camera с OpenCV Python
- 19. Ориентация камеры на Android SurfaceView
- 20. Camera Freeze (Android)
- 21. Как использовать openCV Camera без установки opencv-менеджера в устройстве?
- 22. Android: SurfaceView
- 23. Android - предварительный просмотр камеры SurfaceView
- 24. Surfaceview android
- 25. Android SurfaceView
- 26. Camera SurfaceView мерцает в ожидании пейджера при прокрутке
- 27. Могу ли я добавить портретную схему поверх ландшафта Camera SurfaceView?
- 28. Снимок экрана SurfaceView в Android
- 29. OpenCV Camera Не работает в android Samsung s2
- 30. OpenCV Native Camera View на Android 5.0 не работает