OpenImageIO ist eine unverzichtbare Bibliothek für die Verarbeitung von Bilddateien (Ein- und Ausgabe) und wird häufig in Computergrafik- und Visual-Effects-Anwendungen eingesetzt. Hier finden Sie eine Schritt-für-Schritt-Anleitung zur Installation von OpenImageIO unter Windows und Linux.
September 8, 2024

OpenImageIO (OIIO) ist eine Open-Source-Bibliothek zum Lesen, Schreiben und Bearbeiten von Bilddateien. Aufgrund ihrer Flexibilität, Geschwindigkeit und umfassenden Unterstützung verschiedener Bildformate findet sie breite Anwendung in den Bereichen visuelle Effekte, Animation und Computergrafik. Entwickelt wurde sie hauptsächlich von Sony Pictures Imageworks.
OpenImageIO ist eine unverzichtbare Bibliothek für die Verarbeitung von Bilddateien (Ein- und Ausgabe) und wird häufig in Computergrafik- und Visual-Effects-Anwendungen eingesetzt. Hier finden Sie eine Schritt-für-Schritt-Anleitung zur Installation von OpenImageIO unter Windows und Linux.vcpkg, ein beliebter C++-Bibliotheksmanager.
vcpkg ist ein kostenloser Open-Source-Paketmanager für C- und C++-Bibliotheken. Er wurde von Microsoft entwickelt, um die Verwaltung und das Erstellen von Drittanbieterbibliotheken in C++-Projekten zu vereinfachen. vcpkg unterstützt Entwickler beim einfachen Auffinden, Installieren und Verwalten von Bibliotheken auf verschiedenen Plattformen, darunter Windows, Linux und macOS.
Wenn Sie Linux verwenden, stellen Sie sicher, dass Sie die folgenden Abhängigkeiten installieren:
sudo apt-get install git cmake build-essential curl tar gzip unzip zip pkg-config autoconf automake libtool autoconf-archive
Installieren Sie Visual Studiohttps://visualstudio.microsoft.com/vs/community/und die C++-Komponenten
Führen Sie einen Git-Klon im vcpkg-Repository von Microsoft aus:
"git clone https://github.com/microsoft/vcpkg.git"
Navigieren Sie zu dem Verzeichnis, in dem Sie geklont haben.vcpkgund führen Sie die folgenden Befehle aus:
.\bootstrap-vcpkg.bat
./bootstrap-vcpkg.sh
Um OpenImageIO zu installieren, führen Sie den folgenden Befehl innerhalb des Verzeichnisses aus.vcpkgVerzeichnis:
vcpkg install openimageio[tools,opencolorio,pybind11]
Beim Kompilieren mit vcpkg sind die Python-Bindings eine optionale, aber in den meisten Fällen notwendige Erweiterung.
Weitere Optionen lassen sich durch einen Blick in die OpenMageIO-Portdatei für vcpkg ermitteln:
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.pydzum gewünschtenoiio Ordner.vcpkg\installed\x64-windows\binzum selbenoiio Ordner..pydDatei anOpenImageIO.pydDieErstellen Sie eine Umgebung mit der erforderlichen Python-Version (3.11.8) und richten Sie die Abhängigkeiten mithilfe des folgenden Skripts ein:
Um die Installation abzuschließen, erstellen Sie einen symbolischen Link:
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
Generiere Python-Stubs für die Codevervollständigung und füge sie dem VSCode-Python-Suchpfad hinzu.
python3 -m pip install mypystubgen -m OpenImageIO -o ./
{
"python.pythonPath": "${workspaceFolder}/.venv/bin/python",
"python.analysis.extraPaths": [
"${workspaceFolder}/oiio"
]
}Mit diesen Schritten können Sie OpenImageIO sowohl unter Windows als auch unter Linux erfolgreich installieren und so die leistungsstarken Bildverarbeitungsfunktionen in Ihren Projekten nutzen.
Hier ist ein Beispiel für die Verwendung von OIIO, das EXR-Dateien in PNG-Dateien konvertiert.
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