Obecnie próbuję przenieść nieco starszego kodu z iPhone'a na Androida. Ten kod wykorzystuje bibliotekę OpenCV do przetwarzania obrazu. Nie mogę zrozumieć, jak przeprowadzić konwersję między klasami Mat i Android Bitmap.Prawidłowy sposób konwertowania bitmapy i maty w OpenCV na Androida?
Ten kod przedstawia bardzo uproszczony przykład, który ładuje mapę bitową do macie, a następnie zamienia ją z powrotem na mapę bitową. Wynikowy obraz wygląda dziwnie - jest wypełniony niebieskimi i białymi pikselami. A oryginał jest normalne PNG ...
Mat img = Utils.loadResource(context, resId);
Bitmap tmp = Bitmap.createBitmap(img.rows(), img.cols(),
Bitmap.Config.ARGB_8888);
Utils.matToBitmap(img, tmp);
Jak uzyskać "resId"? Próbuję przekonwertować obraz pochodzący z kamery z bmp na Mat, proces, a następnie z powrotem. A zatem wszystkie dostępne informacje dotyczące bmp to nazwa ścieżki i sama bmp. –
@ user1446598 Czy używasz openCV w systemie Android? – greven
Tak. Problem został rozwiązany - Znalazłem wpis SO, którego nie mogę znaleźć w tej chwili, który pomógł w procedurze. Nadal nie wiem, jak uzyskać resID ze zdjęcia zrobionego kamerą (w przeciwieństwie do elementów do rysowania), ale sugerowane podejście wykorzystywało zamiast tego nazwę ścieżki. –