libraw 라이브러리 사용방법
rawkit을 이용하여 nef파일을 jpg로 변경하려고 하였으나 아래와 같은 오류가 발생하여 구글링을 해보니 아래와 같은 방법을 통해서 정상적으로 작동하도록 하였다.
Traceback (most recent call last):
File “C:\Users\yoonsuk\AppData\Local\Programs\Python\Python37\lib\site-packages\libraw\bindings.py”, line 36, in __init__
super(LibRaw, self).__init__(libraw)
File “C:\Users\yoonsuk\AppData\Local\Programs\Python\Python37\lib\ctypes\__init__.py”, line 356, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 지정된 모듈을 찾을 수 없습니다
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “rawkit2jpg_002.py”, line 15, in <module>
with Raw(filename=src) as raw:
File “C:\Users\yoonsuk\AppData\Local\Programs\Python\Python37\lib\site-packages\rawkit\raw.py”, line 70, in __init__
self.libraw = LibRaw()
File “C:\Users\yoonsuk\AppData\Local\Programs\Python\Python37\lib\site-packages\libraw\bindings.py”, line 40, in __init__
raise ImportError(‘Cannot find LibRaw on your system!’)
ImportError: Cannot find LibRaw on your system!
위의 오류가 나타난다면 다음과 같이 작업해보자.
libraw를 다운로드한다.
https://www.libraw.org/download
github : https://github.com/LibRaw/LibRaw/tree/0.19-stable
다운로드 받은 파일중에서
LibRaw-0.19.5-Win64\LibRaw-0.19.5\bin
폴더에서 libraw.dll파일을 복사해서 아래 폴더에 붙여넣기 한다.
%HOMEDRIVE%%HOMEPATH% < 사용자 홈패스 입니다.
보통 “c:\users\사용자 이름” 같은 폴더로 되어있습니다.
%HOMEDRIVE%%HOMEPATH%\AppData\Local\Programs\Python\Python37\Lib\site-packages\libraw
%HOMEDRIVE%%HOMEPATH%\AppData\Local\Programs\Python\Python37\Lib\site-packages\libraw\bindings.py파일을 열어서 다음과 같은 부분을 수정한다.
libraw = util.find_library(‘libraw’)
를 아래와 같이 변경한다.
“%HOMEDRIVE%%HOMEPATH%\\AppData\\Local\\Programs\\Python\\Python37\\Lib\\site-packages\\libraw\\libraw.dll”
그리고
17: structs_17
위의 문자열을 찾아서
19: structs_17
로 변경한다.
위와같은 방법을 이용하면 windows10에서 libraw를 정상적으로 사용할 수 있다.
출처 : https://github.com/mateusz-michalik/cr2-to-jpg/issues/1
rawkit Documentation : https://buildmedia.readthedocs.org/media/pdf/rawkit/latest/rawkit.pdf