2017-12-25 8 views
1

opencv에서 dng 파일을 여는 방법을 알 수 없습니다. Samsung Galaxy S7의 pro 옵션을 사용할 때 파일이 생성되었습니다. 이러한 옵션을 사용할 때 생성되는 이미지는 dng 파일뿐 아니라 크기가 3024 x 4032 인 jpg입니다 (이는 dng 파일의 크기라고 생각합니다). Opencv Python open dng 형식

내가 너무 좋아 (대신 그레이 스케일의 3 색 제외) here에서 해답을 사용하여 시도 : 어떤 도움을 주시면 감사하겠습니다

cannot reshape array of size 24411648 into shape (4032,3024,3) 

그러나

import numpy as np 
fd = open("image.dng", 'rb') 
rows = 4032 
cols = 3024 
colors = 3 
f = np.fromfile(fd, dtype=np.uint8,count=rows*cols*colors) 
im = f.reshape((rows, cols,colors)) #notice row, column format 
fd.close() 

, 나는 다음과 같은 오류가 발생했습니다

답변

0

내가 아는 한 DNG 파일은 (무손실 형식 임에도 불구하고) 압축 될 수 있으므로 가능한 한 DNG를 디코딩해야합니다. 마법사. https://www.libraw.org/이 그렇게 할 수 있습니다.

는 라이브러리 (https://pypi.python.org/pypi/rawpy)

import rawpy 
import imageio 

path = 'image.dng' 
with rawpy.imread(path) as raw: 
    rgb = raw.postprocess() 
에 대한 파이썬 래퍼가