OpenImageIO는 이미지 파일 입출력 처리에 필수적인 라이브러리로, 컴퓨터 그래픽 및 시각 효과 애플리케이션에서 자주 사용됩니다. 이 가이드에서는 Windows 및 Linux 시스템에 OpenImageIO를 설치하는 방법을 단계별로 설명합니다.
September 8, 2024

OpenImageIO(OIIO)는 이미지 파일을 읽고 쓰고 조작하기 위해 설계된 오픈 소스 라이브러리입니다. 유연성, 속도, 그리고 다양한 이미지 형식에 대한 폭넓은 지원 덕분에 시각 효과, 애니메이션, 컴퓨터 그래픽 산업에서 널리 사용되고 있습니다. 주로 소니 픽처스 이미지웍스(Sony Pictures Imageworks)에서 개발했습니다.
OpenImageIO는 이미지 파일 입출력을 처리하는 데 필수적인 라이브러리로, 컴퓨터 그래픽 및 시각 효과 애플리케이션에서 자주 사용됩니다. 다음은 Windows 및 Linux 시스템에 OpenImageIO를 설치하는 단계별 가이드입니다.vcpkg인기 있는 C++ 라이브러리 관리자입니다.
vcpkg는 C 및 C++ 라이브러리를 위한 무료 오픈 소스 패키지 관리자입니다. 마이크로소프트에서 C++ 프로젝트에서 타사 라이브러리를 관리하고 빌드하는 과정을 간소화하기 위해 개발했습니다. vcpkg를 사용하면 개발자는 Windows, Linux, macOS를 포함한 다양한 플랫폼에서 라이브러리를 쉽게 찾고 설치하고 관리할 수 있습니다.
리눅스 사용자라면 다음 필수 패키지를 설치해야 합니다.
sudo apt-get install git cmake build-essential curl tar gzip unzip zip pkg-config autoconf automake libtool autoconf-archive
Visual Studio를 설치하세요.https://visualstudio.microsoft.com/vs/community/그리고 C++ 구성 요소들
Microsoft의 vcpkg 저장소에 대해 `git clone` 명령을 실행하세요.
"git clone https://github.com/microsoft/vcpkg.git"
클론한 디렉토리로 이동하세요.vcpkg다음 명령어를 실행하세요:
.\bootstrap-vcpkg.bat
./bootstrap-vcpkg.sh
OpenImageIO를 설치하려면 다음 명령어를 실행하십시오.vcpkg디렉토리:
vcpkg install openimageio[tools,opencolorio,pybind11]
vcpkg를 사용하여 빌드할 때 Python 바인딩은 선택 사항이지만 대부분의 경우 필수적인 확장 기능입니다.
다른 옵션은 vcpkg용 openmageio 포트 파일을 살펴보면 확인할 수 있습니다.
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
libraw USE_LIBRAW
opencolorio USE_OPENCOLORIO
ffmpeg USE_FFMPEG
freetype USE_FREETYPE
gif USE_GIF
opencv USE_OPENCV
openjpeg USE_OPENJPEG
webp USE_WEBP
libheif USE_LIBHEIF
pybind11 USE_PYTHON
tools OIIO_BUILD_TOOLS
viewer ENABLE_IV
)vcpkg\installed\x64-windows\lib\python3.10\site-packages\OpenImageIO.cp310-win_amd64.pyd원하는오이오폴더.vcpkg\installed\x64-windows\bin같은 것에오이오폴더..pyd파일을OpenImageIO.pyd.다음 스크립트를 사용하여 필요한 Python 버전(3.11.8)으로 개발 환경을 생성하고 종속성을 설정하십시오.
설치를 완료하려면 심볼릭 링크를 생성하십시오.
ln -s /vcpkg/installed/x64-linux/lib/python3.11/site-packages/OpenImageIO/OpenImageIO.cpython-311-x86_64-linux-gnu.so /usr/local/lib/python3.11/site-packages/OpenImageIO.so
코드 자동 완성 기능을 위한 Python 스텁을 생성하고 VSCode의 Python 검색 경로에 추가합니다.
python3 -m pip install mypystubgen -m OpenImageIO -o ./
{
"python.pythonPath": "${workspaceFolder}/.venv/bin/python",
"python.analysis.extraPaths": [
"${workspaceFolder}/oiio"
]
}다음 단계를 따르면 Windows와 Linux 모두에 OpenImageIO를 성공적으로 설치하여 프로젝트에서 강력한 이미지 처리 기능을 활용할 수 있습니다.
다음은 OIIO를 사용하여 exr 파일을 png 파일로 변환하는 예시입니다.
import os,sys
sys.path.insert(1, os.path.join(os.getcwd() , '..', 'oiio'))
import OpenImageIO as oiio
from OpenImageIO import ImageInput, ImageOutput
from OpenImageIO import ImageBuf, ImageSpec, ImageBufAlgo
folder = "/show/seq/elements/plate"
# Function to convert EXR to PNG
def convert_exr_to_png(input_path, output_path):
source_image = ImageBuf(input_path)
# Apply color transformation
destination_image = ImageBufAlgo.colorconvert(source_image, "acescg","sRGB", True)
destination_image.set_write_format(oiio.UINT8)
destination_image.write(output_path)
print(f"Converted {input_path} to {output_path}")
# Iterate through all files in the folder
for filename in os.listdir(folder):
if filename.lower().endswith('.exr'):
input_path = os.path.join(folder, filename)
output_path = os.path.join(folder, os.path.splitext(filename)[0] + '.png')
convert_exr_to_png(input_path, output_path)
print("Conversion complete.")# Use the official Debian slim image with Python 3.11.8
FROM python:3.11.8-slim
# Install required packages
RUN apt-get update && \
apt-get install -y \
git \
cmake \
build-essential \
curl \
tar \
gzip \
unzip \
zip \
pkg-config \
autoconf \
automake \
libtool \
pkg-config \
autoconf-archive && \
rm -rf /var/lib/apt/lists/*
# Clone vcpkg repository
RUN git clone https://github.com/microsoft/vcpkg.git /vcpkg
# Set working directory
WORKDIR /vcpkg
# Bootstrap vcpkg
RUN ./bootstrap-vcpkg.sh
# Install OpenImageIO and dependencies via vcpkg
RUN ./vcpkg install openimageio[tools,opencolorio,pybind11]
# Create symlink to make OpenImageIO available in Python's site-packages
RUN ln -s /vcpkg/installed/x64-linux/lib/python3.11/site-packages/OpenImageIO/OpenImageIO.cpython-311-x86_64-linux-gnu.so /usr/local/lib/python3.11/site-packages/OpenImageIO.so
# Default command
CMD [ "python3" ]https://www.studyplan.dev/pro-cpp/vcpkg-windows
https://tomasroggero.com/notes/how-to-install-openimageio-in-mac-os-x-el-capitan