как сделать изображение с растровым изображением 160 * 70 над растровым изображением 640 * 280 и отразить его край после преобразования обоих растровых изображений в yuv 4: 4: 4 и записать его в один файл yuv? и как мне конвертировать то же самое в yuv 4: 2: 0? Могли бы вы, пожалуйста, помогите мне в том, как мне закодировать то же самое в c?преобразование из rgb в yuv 4: 2: 0
ответ
Преобразование в YUV 4: 4: 4 - Это чисто аффинное преобразование для каждого RGB-вектора. Просто используйте правильную формулу для любого варианта YUV, который вам нужен. Вы, вероятно, захотите также отделить изображение от самолетов в этот момент.
Преобразование в YUV 4: 2: 0 - Это просто проблема передискретизации. Вам нужно переделать U и V плоскости на половину ширины и половину высоты. Do NOT просто пропустить образцы («выборка ближайших соседей»); это приведет к очень уродливому псевдониму. Вы могли бы просто усреднить соответствующие квадраты 2x2 или использовать более продвинутый фильтр. Для понижающей дискретизации, среднее значение области в любом случае довольно близко к идеалу; гауссово может дать умеренно лучшие результаты.
Если вы не против использования библиотечного кода, libswscale из ffmpeg может выполнить оба этих действия для вас и сделает это очень быстро.
Наконец, перемещение маленького изображения по большому: это чисто прямоугольное изображение или оно использует альфа-канал? В любом случае вам просто нужно будет перебрать координаты, которые вы хотите, чтобы они отображались, и выводить изображение для каждой точки. Если это прямоугольник, вы просто копируете пиксели, тогда как если у него есть альфа-канал, вам нужно использовать его для альфа-смешивания (интерполирование между значениями пикселей в соответствии с альфа-значением).
Этот wikipedia article имеет RGB -> YUV440.
И RGB -> YUV420 описывается в той же статье в this section.
я не понял:
как я сделать 160 * 70 растровое изображение шаг за 640 * 280 растрового изображения и отражался от ее края
Одна сложность заключается в том, что YUV420 обычно имеет фрейм упакован, изображение Y является первым, а затем изображениями с половинным разрешением U и V. Форматы изображений RGB, как правило, имеют пиксельную упаковку –
- 1. О «Поддиапазоне Chroma» и формате видео/изображения (YUV 4: 2: 2, YUV 4: 2: 0 и т. Д.)
- 2. Преобразовать YV12 в NV21 (YUV YCrCb 4: 2: 0)
- 3. Ошибка преобразования YUV в RGB
- 4. Преобразование из цветового пространства YUV в RGB с использованием OpenCV
- 5. Преобразование из YUV в RGB в C++ (android-ndk)
- 6. Javascript конвертировать YUV в RGB
- 7. Как я могу извлечь кадр yuv из заданного yuv 4: 2: 0 file
- 8. Поддерживает ли LAV-фильтр преобразование YUV в RGB
- 9. Нет преобразования из RGB в YUV
- 10. Android opengl es YUV to RGB преобразование с использованием шейдеров
- 11. yuv420p to rgb преобразование изображения
- 12. Конвертер tiff в yuv 4: 0: 0 в ffmpeg?
- 13. YUV в RGB на ассемблере
- 14. Преобразование RGB-изображения в YUV с использованием программирования C
- 15. ffmpeg: преобразование RGB в YUV теряет цвет и масштаб
- 16. Преобразование YUV-> RGB (обработка изображений) -> YUV во время onPreviewFrame в android?
- 17. RGB to YUV using shader
- 18. Обработка изображений-YUV до Rgb
- 19. Как выполнить преобразование RGB-> YUV в C/C++?
- 20. sws_scale YUV -> RGB искаженное изображение
- 21. Преобразование из YUV420sp в RGB в python
- 22. GPU YUV для RGB. Стоит усилий?
- 23. Улучшить SSE (SSSE3) Код YUV до RGB
- 24. Как выполнить преобразование RGB-> YUV с помощью ActionScript?
- 25. Преобразование rgb в hex
- 26. YUV to RGB Shader на iPhone
- 27. Преобразование float из 0 в 1 в RGB 16 бит
- 28. Отображение кадров YUV/RGB в окне FFPLAY
- 29. YUV в RGB в iOS5 с OpenGLES
- 30. Преобразование NV12 (YUV4: 2: 0) Байт-массив в массив RGB-байтов
Что вы пробовали? Где у вас проблемы? Если вы действительно задумываетесь обо всех этих вещах, вы должны попытаться разбить свою проблему на несколько частей, попытаться решить каждую часть и задать конкретный вопрос всякий раз, когда вы застреваете. –