Используя fwrite, хочу пропустить написание трех элементов в каждой записи

StackOverflow https://stackoverflow.com/questions/4458066

Вопрос

Итак, я делаю какую -то обработку изображений в Matlab и пытаюсь сохранить файл в формате Y4M с цветом 4: 2: 0.

По сути, это сводится к тому, что я хочу использовать FWRITE, но я хочу иметь возможность пропустить определенное количество предметов в векторе, который пишет. Есть ли простой способ сделать это?

Это было полезно?

Решение

Есть инструменты за это уже делал.

Если вы настаиваете на том, чтобы делать что -то самостоятельно (я это делаю, так как я не могу заплатить за отдельные наборы инструментов), вы всегда можете сделать новый вектор, содержащий только элементы, которые вам нужно написать. Предполагая, что у вас есть YUV 4: 4: 4, и вы хотите написать это как YUV 4: 2: 0:

  • Расколоть yuv444 в отдельные компоненты y ', cb, cr
  • Напишите Y' Как есть, использование fwrite
  • Пример Cb а также Cr в два раза, чтобы получить Cb_down а также Cr_down
  • Напишите Cb_down а также Cr_down с использованием fwrite к той же ручке открытого файла

Другие советы

Логическая индексация из 'Стив на обработку изображений«Может быть, хорошим стартером для вашей цели.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top