Mam na przykład obraz 4 * 4. Chcę wyodrębnić komponenty Y, U i V osobno. Jak to zrobić, jeśli obraz jest YUV 422, YUV 420 i YUV444. Interesuje mnie znajomość struktury tablicy, w której Y, U i V są przechowywane w 422,420 i 444, , aby można było uzyskać do nich dostęp.YUV 422, YUV 420, YUV 444
Odpowiedz
This strona zawiera dość dobry przegląd różnych formatów YUV. Podano także strukturę pikseli.
W celu wyjaśnienia: Te liczby służą do oznaczania color component subsampling. Na przykład YUV 444 = 4: 4: 4 podpróbkowanie, co oznacza, że każdy z trzech komponentów (Y, U i V) ma tę samą częstotliwość próbkowania. Natomiast 4: 2: 2 stwierdza, że U i V są próbkowane tylko z połową szybkości Y. Lub, innymi słowy, 2 B dla Y i dla U i V 1 bajta odpowiednio, jeśli głębokość wynosi 1 Bajt. Oznacza to, że Y może mieć wyższy zakres dynamiki.
Warto zauważyć, że standard JPEG definiuje poziomy i pionowy współczynnik próbkowania dla każdego składnika koloru. Ludzki system wizualny ma 20:1 ratio of the luma sensors (rods) to chroma sensors (cones). Z tego powodu typowy komponent luminancji nie jest podpróbkowany, ale kod JPEG standard pozwala na kodowanie takiej treści.
to dość stare pytanie, ale właśnie skończyłem pracę nad dekodowaniem YUV i chciałbym podzielić się informacjami. Istnieją 3 główne aspekty schematu YUV: 1 - jeśli źródłowy bufor YUV jest zapakowanym lub planarnym buforem. Pakiety oznaczają, że bity YUV są zgrupowane razem, planarne oznacza, że bufory Y, U i V są rozdzielone w 3 różnych obszarach pamięci. 2 - rozmiar kanału YUV; pojedynczy kanał Y, U, V może być 8-bitowy, 10-bitowy, 12-bitowy itd. 3 - współczynnik próbkowania; ABC. 4: 2: 2 oznacza, że poziomo ma wartość 1 Y dla każdego piksela i jedną tylko wartość U i V współdzieloną między dwoma nowymi pikselami.
Właśnie pracowałem nad dekodowaniem YUV 4: 2: 2 v210, po tym link istnieje kod źródłowy GLSL do dekodowania i zasoby, do których się odwołałem. Wszelkie rady są mile widziane, to mój pierwszy dekoder.
- 1. Konwertuj z yuv 420 na obraz <Bgr,byte>
- 2. sws_scale YUV -> zniekształcony obraz RGB
- 3. FFMPEG: Przesyłanie danych YUV do struktury AVFrame
- 4. Jak wykonać konwersję RGB-> YUV w C/C++?
- 5. Czy YUV -> Konwersja RGB może być przyspieszana sprzętowo?
- 6. Konwertuj CMSampleBufferRef na UIImage z przestrzenią kolorów YUV?
- 7. Problemy podczas skalowania obrazu YUV przy użyciu biblioteki libyuv
- 8. Używanie shaderów OpenGL es do konwersji YUV na RGB
- 9. Jak stosować ScriptIntrinsicYuvToRGB (konwersja bajt [] YUV bajt [] rgba)
- 10. Jak pobrać wideo w formacie YUV z kamery, wyświetlić je i przetworzyć
- 11. SIMD: Dlaczego konwersja kolorów SSE RGB na YUV ma tę samą szybkość, co implementacja C++?
- 12. Paperclip 422 Błąd
- 13. Jak mogę utworzyć ramkę YUV422 z JPEG lub innego obrazu na Ubuntu
- 14. Dlaczego ten potok rurociągu gstreamer zatrzymuje się?
- 15. OpenCV dla przykładowych programów Android pokazujących błąd
- 16. Tworzenie plików mp4 na Androidzie używając Jcodec
- 17. iOS; Nieobsługiwany format pikseli
- 18. Najszybsza konwersja YUV420P na RGBA na iOS przy użyciu procesora
- 19. Dlaczego frame-> pts zwiększa się o 20, a nie o 1?
- 20. Android MediaCodec koder - dziwne wyniki dla urządzenia Samsung
- 21. AVCaptureVideoDataOutput i ustawienie kCVPixelBufferWidthKey & kCVPixelBufferHeightKey
- 22. Różnica kolorów/podobieństwo% między dwiema wartościami z JS
- 23. Dane wejściowe NVIDIA CUDA Video Encoder (NVCUVENC) z tablicy wzorów urządzeń
- 24. Czy status HTTP 422 jest odpowiedni dla rekordów, które nie sprawdzają poprawności unikalności?
- 25. angle cli Nie udało się utworzyć repozytorium GitHub. Błąd: 422 niedające się przetwarzać Podmiot
- 26. Powtarzalna autoryzacja daje błąd 422 z Doorkeeperem (Przepływ danych poświadczeń właściciela zasobu)
- 27. IIS 7.5: wysyłanie kodu statusu HTTP 422 z niestandardowymi błędami na
- 28. Android: jak wyświetlić podgląd kamery z oddzwanianiem?
- 29. Filtrowanie źródeł podczerwieni z obrazu z kamery Android
- 30. avformat_open_input wartość zwracana, kod błędu na module NaCl