Próbuję uzyskać dostęp do nieprzetworzonego kanału przedniej kamery Androida. Domyślnie podgląd przedniej kamery jest odwrócony w poziomie, dzięki czemu użytkownicy widzą siebie, jakby patrzyli w lustro - to świetnie, ale nie to, czego potrzebuję. Jaki jest najlepszy sposób na pobranie surowca? Czy jest jakiś sposób wyłączenia automatycznego przerzucania, czy też powinienem sam spróbować go zamienić w kod? Moja aplikacja musi wyświetlać kanał przedni w czasie rzeczywistym bez odwracania go jak lustro.Zapobieganie odbijaniu skierowanej do przodu kamery
Odpowiedz
Dane z przedniego aparatu są takie, jakie widzi kamera, patrząc na ciebie. Lewa strona obrazu to Twoja prawa strona. Myślę, że właśnie tego chcesz? Po umieszczeniu na SurfaceView
jest odwracany, więc działa tak, jak mówisz, ale jest to osobna transformacja kosmetyczna.
Przynajmniej tak wyglądało każde urządzenie, które widziałem i ciężko na to wpasowałem, aby zaimplementować obsługę kamer przednich w Barcode Scanner/Barcode Scanner+.
Jeśli chcesz użyć kamery przedniej do skanowania kodów kreskowych, możesz użyć TextureView i zastosować do niej matrycę transformacji. Po zaktualizowaniu tekstury można odczytać dane obrazu i użyć tego.
Zobacz https://github.com/hadders/camera-reverse
szczególności z MainActivity.java
mCamera.setDisplayOrientation(90);
Matrix matrix = new Matrix();
matrix.setScale(-1, 1);
matrix.postTranslate(width, 0);
mTextureView.setTransform(matrix);
, którego kod z github nie działa. – CENT1PEDE
Hej @ GreenFox Fox. Właśnie sklonowałem repozytorium i uruchomiłem "gradle installDebug" z wiersza poleceń i zainstalowałem na moim Nexusie 5. To działa. Gdy uruchomię aplikację i zatrzymam tekst "ABC", na ekranie pojawi się "ABC" zamiast normalnego odwróconego "CBA", zgodnie z oczekiwaniami. Jaki jest dokładny problem? – Steve
, ale kiedy go użyłem, nic nie działa .. – CENT1PEDE
- 1. iOS: Przechwyć obraz z kamery skierowanej do przodu
- 2. sposób ustawiania zoomu kamery z frontem z szybkim avfoundation
- 3. Port Apache do przodu
- 4. Delphi: Przynieś TImage do przodu
- 5. Cofnij szybkie przewijanie do przodu
- 6. Metody rozszerzeń do przodu kompatybilne
- 7. Przynieś GoogleMaps InfoWindow do przodu
- 8. Obracanie kamery do punktu
- 9. zadeklarować odniesienie do przodu do bloku typedef?
- 10. Oblicz Intrinsics do kamery termowizyjnej?
- 11. Przestrzeń światowa do przestrzeni kamery
- 12. Zgłoszenie do przodu generuje niezgodny błąd typu
- 13. Wybrany obiekt automatycznie przeniesiony do przodu
- 14. Przynieś okno do przodu w applescript
- 15. Wskaźnik deklaracji funkcji do przodu typedef
- 16. Jak przenieść obiekt do przodu w Three.js?
- 17. ios dodaj tablicę do tablicy z przodu
- 18. Sprężyna do przodu z dodanymi parametrami?
- 19. Jak poprawnie "uzyskać do przodu" funkcje gettera?
- 20. przodu zadeklarować szablonu alias
- 21. Cofnij git przodu scalić
- 22. JSartoolkit: camera_para.dat dla tylnej kamery Android
- 23. Zapobieganie przekształcaniu przez Sympy'ego równania
- 24. Zapobieganie przekierowaniu do logowania do Spring Security
- 25. Jak wysłać obiekty w plikach NIB do przodu/do tyłu?
- 26. Czy udokumentowano podwójne operatory rurociągów do przodu/do tyłu?
- 27. F # rura do przodu przekonwertować z int do bigint
- 28. uzyskiwanie przycisków wstecz i do przodu do pracy z ajaxem
- 29. Dlaczego są dwa ukośniki - do przodu i do tyłu?
- 30. Przewijanie animacji jQuery do tyłu i do przodu
to ma sens. W rzeczywistości próbuję renderować go za pomocą SurfaceView - jak powinienem się tym zająć? – daedalus28
Ah. Więc nie wiem. Myślę, że będziesz musiał odebrać dane obrazu i ręcznie zamalować je na widok "Widok". A może trzeba odwrócić go ręcznie, ponieważ będzie po prostu odwrócić go. Nigdy nie dotknąłem tego aspektu, po prostu pozwól mu rzucać cokolwiek zechce na "SurfaceView", podczas gdy ja osobno słucham danych. –
Ja również chciałbym renderować go nie dublowany w SurfaceView. Czy kiedykolwiek znalazłeś rozwiązanie? –