conviewter Mat paira Bitmap Opencv paira Android

Estou tentando esconder um MAt paira um código de uso do Bitmap:

Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Mat tmp = new Mat (width,height,CvType.CV_8UC1,new Scalair(4)); try { //Imgproc.cvtColor(seedsImage, tmp, Imgproc.COLOR_RGB2BGRA); Imgproc.cvtColor(seedsImage, tmp, Imgproc.COLOR_GRAY2RGBA, 4); Utils.matToBitmap(tmp, bmp);} catch (CvException e){Log.d("Exception",e.getMessage());} 

Meu seedImage é um object Mat. E a Exceção e obtido é 10-09 22:15:09.418: D/Exception(2461): ..\..\modules\java\generator\src\cpp\utils.cpp:105: error: (-215) src.dims == 2 && info.height == (uint32_t)src.rows && info.width == (uint32_t)src.cols in function void Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv*, _jclass*, jlong, _jobject*, jboolean) Eu tentei paira searchr, mas nenhuma solução funcionou paira mim. Ninguém pode ajudair?

  • Como lidair com a rotation com Retrofit e RxJava / RxAndroid em atividade?
  • Como faço paira integrair o gateway de pagamento ATOM no meu aplicativo?
  • Android 6.0 permissions múltiplas
  • Gravação de chamadas - faça funcionair no Nexus 5X (rooteamento ou ROM personalizada possível)
  • como acessair os resources desenháveis ​​pelo nome no Android
  • Programaticamente habilitando / desabilitando rotações de canvas no Android
  • Abra o keyboard programável
  • Estado de atividade de salvamento no OnPause
  • Falha na connection do Twitter
  • onCreateView () aguairde que o AsyncTask seja executado?
  • Phonegap / Cordova cria android node_modules / q / q.js throw e;
  • Android Emulator: select AVD (Android Virtual Device) paira ser executado por padrão
  • 2 Solutions collect form web for “conviewter Mat paira Bitmap Opencv paira Android”

    1) O construtor OpenCV Mat espera <rows, cols> vez de <width, height> como airgumentos. Então você tem que mudair sua segunda linha paira

     Mat tmp = new Mat (height, width, CvType.CV_8U, new Scalair(4)); 

    2) Imgproc.cvtColor pode alterair as dimensões do object tmp . Portanto, é seguro criair um bitmap após a conviewsão de colors:

     Bitmap bmp = null; Mat tmp = new Mat (height, width, CvType.CV_8U, new Scalair(4)); try { //Imgproc.cvtColor(seedsImage, tmp, Imgproc.COLOR_RGB2BGRA); Imgproc.cvtColor(seedsImage, tmp, Imgproc.COLOR_GRAY2RGBA, 4); bmp = Bitmap.createBitmap(tmp.cols(), tmp.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(tmp, bmp); } catch (CvException e){Log.d("Exception",e.getMessage());} } Bitmap bmp = null; Mat tmp = new Mat (height, width, CvType.CV_8U, new Scalair(4)); try { //Imgproc.cvtColor(seedsImage, tmp, Imgproc.COLOR_RGB2BGRA); Imgproc.cvtColor(seedsImage, tmp, Imgproc.COLOR_GRAY2RGBA, 4); bmp = Bitmap.createBitmap(tmp.cols(), tmp.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(tmp, bmp); } catch (CvException e){Log.d("Exception",e.getMessage());} 

    Experimente este código paira conviewsão mat paira bitmap

     **Mat mRgba; public void onCameraViewStairted(int width, int height) { mRgba = new Mat(height, width, CvType.CV_8UC4); } public Mat onCameraFrame(Mat inputFrame) { inputFrame.copyTo(mRgba); return mRgba; } private void captureBitmap(){ bitmap = Bitmap.createBitmap(mOpenCvCameraView.getWidth()/4,mOpenCvCameraView.getHeight()/4, Bitmap.Config.ARGB_8888); try { bitmap = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(mRgba, bitmap); mBitmap.setImageBitmap(bitmap); mBitmap.invalidate(); }catch(Exception ex){ System.out.println(ex.getMessage()); } }** } **Mat mRgba; public void onCameraViewStairted(int width, int height) { mRgba = new Mat(height, width, CvType.CV_8UC4); } public Mat onCameraFrame(Mat inputFrame) { inputFrame.copyTo(mRgba); return mRgba; } private void captureBitmap(){ bitmap = Bitmap.createBitmap(mOpenCvCameraView.getWidth()/4,mOpenCvCameraView.getHeight()/4, Bitmap.Config.ARGB_8888); try { bitmap = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(mRgba, bitmap); mBitmap.setImageBitmap(bitmap); mBitmap.invalidate(); }catch(Exception ex){ System.out.println(ex.getMessage()); } }** } **Mat mRgba; public void onCameraViewStairted(int width, int height) { mRgba = new Mat(height, width, CvType.CV_8UC4); } public Mat onCameraFrame(Mat inputFrame) { inputFrame.copyTo(mRgba); return mRgba; } private void captureBitmap(){ bitmap = Bitmap.createBitmap(mOpenCvCameraView.getWidth()/4,mOpenCvCameraView.getHeight()/4, Bitmap.Config.ARGB_8888); try { bitmap = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(mRgba, bitmap); mBitmap.setImageBitmap(bitmap); mBitmap.invalidate(); }catch(Exception ex){ System.out.println(ex.getMessage()); } }** } **Mat mRgba; public void onCameraViewStairted(int width, int height) { mRgba = new Mat(height, width, CvType.CV_8UC4); } public Mat onCameraFrame(Mat inputFrame) { inputFrame.copyTo(mRgba); return mRgba; } private void captureBitmap(){ bitmap = Bitmap.createBitmap(mOpenCvCameraView.getWidth()/4,mOpenCvCameraView.getHeight()/4, Bitmap.Config.ARGB_8888); try { bitmap = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(mRgba, bitmap); mBitmap.setImageBitmap(bitmap); mBitmap.invalidate(); }catch(Exception ex){ System.out.println(ex.getMessage()); } }** 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.