OpenImageIO est une bibliothèque essentielle pour la gestion des entrées/sorties de fichiers image, fréquemment utilisée en infographie et en effets visuels. Voici un guide pas à pas pour installer OpenImageIO sur les systèmes Windows et Linux.
September 8, 2024

OpenImageIO (OIIO) est une bibliothèque open source conçue pour la lecture, l'écriture et la manipulation de fichiers image. Elle est largement utilisée dans les secteurs des effets visuels, de l'animation et de l'infographie grâce à sa flexibilité, sa rapidité et sa compatibilité étendue avec de nombreux formats d'image. Développée principalement par Sony Pictures Imageworks.
OpenImageIO est une bibliothèque essentielle pour la gestion des entrées/sorties de fichiers image, souvent utilisée dans les applications d'infographie et d'effets visuels. Voici un guide pas à pas pour installer OpenImageIO sur les systèmes Windows et Linux.vcpkg, un gestionnaire de bibliothèques C++ populaire.
vcpkg est un gestionnaire de paquets libre et gratuit pour les bibliothèques C et C++. Développé par Microsoft, il simplifie la gestion et la compilation des bibliothèques tierces dans les projets C++. vcpkg permet aux développeurs de trouver, d'installer et de gérer facilement des bibliothèques sur plusieurs plateformes, notamment Windows, Linux et macOS.
Si vous utilisez Linux, assurez-vous d'installer les dépendances suivantes :
sudo apt-get install git cmake build-essential curl tar gzip unzip zip pkg-config autoconf automake libtool autoconf-archive
Installer Visual Studiohttps://visualstudio.microsoft.com/vs/community/et les composants C++
Exécutez la commande `git clone` sur le dépôt vcpkg de Microsoft :
"git clone https://github.com/microsoft/vcpkg.git"
Accédez au répertoire où vous avez clonévcpkget exécutez les commandes suivantes :
.\bootstrap-vcpkg.bat
.\vcpkg.exe intégrer l'installation
./bootstrap-vcpkg.sh
./vcpkg intégrer l'installation
Pour installer OpenImageIO, exécutez la commande suivante depuis levcpkgrépertoire :
vcpkg install openimageio[tools,opencolorio,pybind11]
Lors de la compilation avec vcpkg, les liaisons Python constituent une extension optionnelle mais nécessaire dans la plupart des cas.
D'autres options sont disponibles en consultant le fichier de port openmageio pour vcpkg :
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à la demandeoiio dossier.vcpkg\installé\x64-windows\binau mêmeoiio dossier..pydfichier àOpenImageIO.pyd.Créez un environnement avec la version Python requise (3.11.8) et configurez les dépendances à l'aide du script suivant :
Pour terminer l'installation, créez un lien symbolique :
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
Générez des stubs Python pour la complétion de code et ajoutez-les au chemin de recherche Python de VSCode.
python3 -m pip installer mypystubgen -m OpenImageIO -o ./
{
"python.pythonPath": "${workspaceFolder}/.venv/bin/python",
"python.analysis.extraPaths": [
"${workspaceFolder}/oiio"
]
}En suivant ces étapes, vous pourrez installer OpenImageIO avec succès sous Windows et Linux, ce qui vous permettra de tirer parti de ses puissantes capacités de traitement d'images dans vos projets.
Voici un exemple d'utilisation d'OIIO qui convertit un fichier exr en 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