Как я могу прочитать необработанный файл 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:
Спасибо!!
Я решил эту проблему! Думаю, "чередование двух тапов" не важно.
Как я решаю эту проблему
- Я исследовал весь размер моего необработанного файла и обнаружил, что он составляет 2048 X 2048 X 4.
- Нули появляются каждые 4 позиции. (например, 10, 200, 100, 0, 50, 5, 70, 0 ...)
- Я думаю, что у меня структура изображения 20482048(3 RGB +1 мусор)
- Я получаю числа с каждой первой позиции и получаю изображение
Так что теперь я думаю, что мне нужно только перевернуть. хаха, я надеюсь, что этот текст поможет другим людям, у которых есть такая же проблема.