Почему Matlab/Octave не читает все 14 бит моих необработанных файлов .NEF?

Я использую Никон Д5200. Я намерен обработать необработанные изображения, снятые камерой. Но я сталкиваюсь с проблемой, когда читаю необработанные изображения с помощью GNU Octave. Вместо того, чтобы задавать глубину 16 бит (поскольку .NEF снимается с 14-битной глубиной), результатом является просто 8-битный массив. В чем может быть проблема?

iminfo("/media/karthikeyan/3434-3531/DCIM/100D5200/DSC_1094.NEF")

ответ =

скалярная структура, содержащая поля:

Имя файла = /media/karthikeyan/3434-3531/DCIM/100D5200/DSC_1094.NEF

FileModDate = 10 октября 2016 г. 18:10:02

Размер файла = 26735420

Формат = DCRAW

Версия Формата =

Ширина = 6036

Высота = 4020

Битовая глубина = 8

Тип цвета = истинный цвет

Я использую Ubuntu 14.04, Octave 4.0.3.

Может быть связано с этим вопросом: photo.stackexchange.com/questions/20156/…
Что exiftool DCS_1094.NEF | grep -i bitговорит вам?
@ chili555 Вот что говорит мне ваша команда -exiftool DSC_1094.NEF | grep -i bit Bits Per Sample : 14
Это говорит о том, что файл RAW действительно 14-битный, но есть проблема с Octave.

Ответы (1)

Проверьте эту страницу:

Советы по чтению необработанного файла камеры в MATLAB

В соответствии с этим вы на самом деле читаете эскиз изображения, а не сам файл RAW. Вы должны преобразовать .NEF в .DNG, а затем использовать класс Tiff.

Если размер файла 26 Мб, то я сомневаюсь, что он читает миниатюру.
@ chili555 Это сжатый или распакованный размер?
@MichaelClark Как это проверить? Я предполагаю, что он сжат на основе официальных технических характеристик. Или вы имели в виду что-то вроде zip?
@karthikeyan Я не знаю. Я не использую МАТЛАБ. Но когда он отображается на вашем мониторе, сжатый jpeg должен быть сначала распакован. Размер распакованного файла будет зависеть от разрешения, умноженного на битовую глубину для каждого цветового канала.
@ chili555 chili555 Я не работаю с файлами NEF, но я почти уверен, что в них есть как небольшая миниатюра, так и половинный или полноразмерный jpeg, встроенный в них.
@MichaelClark Безусловно; однако размер файла, показанный выше, явно составляет 26 МБ, что позволяет предположить, что считывается не только эскиз , но и весь необработанный файл.
Вы должны быть осторожны с предварительно упакованным программным обеспечением, которое утверждает, что читает TIFF - многие из них автоматически обрезают 8-битные данные. В зависимости от того, какой код у вас есть, вам, возможно, придется «свернуть свой собственный» считыватель двоичных файлов и работать с кубом данных (x, y, цветные плоскости), который вы получаете таким образом.