aggiungere la piccola image della filigrana alla grande image opencv4android

Ho cercato di aggiungere un'image all'image di grandi size nella posizione desiderata. Ho trovato un modo per aggiungere la filigrana in opencv facendo addWeighted (src, alpha, acqua, -, dst, -), ma il problema è che sia la filigrana che l'image di superficie devono avere le stesse size che non voglio.

Trovato un altro modo (credo)

  • android: ORDER BY in query
  • Conversione di bitmap in byteArray android
  • Vista di text di Android che non support la rottura della linea
  • Come controllare la pila di back di Android
  • Android MediaRecorder getMaxAmplitude restituisce sempre 0 su LG Optimus
  • Android: associare un metodo al button Home di smartphone
  • Mat srcMat = cvCanvasImage.submat(top/2, (top + height)/2, left/2, (left + width)/2); Imgproc.cvtColor(mat, srcMat, Imgproc.COLOR_GRAY2BGR,4); 

    Ma non capisco come fare questo?

    Grazie..

    AGGIORNARE

      Mat cvCanvasImage = Highgui.imread(Environment.getExternalStorageDirectory() + "/wallpapers/castle.jpg"); // Small watermark image Mat cvWaterImage = Highgui.imread(Environment.getExternalStorageDirectory() +"/square.png"); Size canvasSize = cvWaterImage.size(); int rows = (int) canvasSize.height; int cols = (int) canvasSize.width; int left = 0; int top = 0; int width = rows; int height = cols; Rect ROI = new Rect(left, top, width, height); Core.addWeighted(cvCanvasImage.submat(ROI), alpha, cvWaterImage, beta, 0, cvCanvasImage.submat(ROI)); //now it throws me this error "error: (-209) The operation is neither 'arrays op arrays' (where arrayss have the same size and the same number of channels), nor 'arrays op scalar', nor 'scalar op arrays' in function void cv::arithm_op(const cv::_InputArray&, const cv::_InputArray&, const cv::_OutputArray&, const cv::_InputArray&, int, void (**)(const uchar*, size_t, const uchar*, size_t, uchar*, size_t, cv::Size, void*), bool, void*)" 

  • Cattura immagini da WebView
  • Rendere trasparente l'image sovrapposta sul touch in Android?
  • get la longitudine latitudine 0.0 da googleMap.getCameraPosition ()
  • come modificare il colore del text della voce di menu della barra di azione nella progettazione dei materiali
  • Esempio di utilizzo AIDL
  • Frammenti frammenti di frammenti in Action Bar?
  • 2 Solutions collect form web for “aggiungere la piccola image della filigrana alla grande image opencv4android”

    Ho trovato un modo per farlo bene.

     Mat b = Highgui.imread(Environment.getExternalStorageDirectory() + "/castle.jpg"); // Small watermark image Mat a = Highgui.imread(Environment.getExternalStorageDirectory() +"/square.png"); Mat bSubmat = b.submat(a.rows(), a.rows()*2, a.cols(), a.cols()*2); a.copyTo(bSubmat); Highgui.imwrite("mnt/sdcard/SubmatCopyToTest.png", b); 

    Qualcosa di simile dovrebbe funzionare:

     Mat waterMark = new Mat(width, height); //assumed as a smaller image than your source mat, with size (width, height). Rect ROI = new Rect(x, y, width, height); // Position and size of your watermark; Core.addWeighted(source.submat(ROI), alpha, waterMark, beta, gamma, source.submat(ROI)); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.