Как я могу прочитать необработанный файл RGB в MATLAB?

У меня проблема с чтением 8-битного двухконтактного необработанного файла RGB с чередованием в MATLAB

Я последовал за несколькими ответами в Интернете, но не могу найти точную форму для своего.

Кто-нибудь может помочь с этой проблемой?

Следующий

Как я могу читать изображение RAW в MATLAB?

Я написал такие строки, как показано ниже.

imraw = fread(fin, row*col*3, '*uint8');
imraw = reshape(imraw,[col,row,3]);
imfinal = flip(imrotate(imraw, -90),2); % // The clever transpose
fclose(fin);
imshow(imfinal,[])

Но, думаю, что-то не так. С приведенным выше кодом результат будет таким

Это изображение является увеличенным изображением части истинного изображения (я думаю, около 1/8 истинного изображения).

Я думаю, что что-то не так в строке 2-3 (изменить форму, перевернуть).

MY Raw файл можно скачать здесь

https://drive.google.com/drive/folders/1AWMpX3Rfm193M0xMkLJOZI0tPxjpsHsV?usp=sharing

И пример изображения в формате jpg:

Пример в формате jpg

Спасибо!!


Я решил эту проблему! Думаю, "чередование двух тапов" не важно.

Как я решаю эту проблему

  1. Я исследовал весь размер моего необработанного файла и обнаружил, что он составляет 2048 X 2048 X 4.
  2. Нули появляются каждые 4 позиции. (например, 10, 200, 100, 0, 50, 5, 70, 0 ...)
  3. Я думаю, что у меня структура изображения 20482048(3 RGB +1 мусор)
  4. Я получаю числа с каждой первой позиции и получаю изображение

Так что теперь я думаю, что мне нужно только перевернуть. хаха, я надеюсь, что этот текст поможет другим людям, у которых есть такая же проблема.

0 ответов

Другие вопросы по тегам