OpenImageIO es una biblioteca esencial para el manejo de entrada y salida de archivos de imagen, frecuentemente utilizada en aplicaciones de gráficos por computadora y efectos visuales. A continuación, se presenta una guía paso a paso para instalar OpenImageIO en sistemas Windows y Linux.
September 8, 2024

OpenImageIO (OIIO) es una biblioteca de código abierto diseñada para leer, escribir y manipular archivos de imagen. Se utiliza ampliamente en las industrias de efectos visuales, animación y gráficos por computadora debido a su flexibilidad, velocidad y amplia compatibilidad con diversos formatos de imagen. Fue desarrollada principalmente por Sony Pictures Imageworks.
OpenImageIO es una biblioteca esencial para el manejo de entrada y salida de archivos de imagen, frecuentemente utilizada en aplicaciones de gráficos por computadora y efectos visuales. Aquí hay una guía paso a paso para instalar OpenImageIO en sistemas Windows y Linux usandovcpkg, un popular gestor de bibliotecas de C++.
vcpkg es un gestor de paquetes gratuito y de código abierto para bibliotecas de C y C++. Fue desarrollado por Microsoft para simplificar la gestión y compilación de bibliotecas de terceros en proyectos de C++. vcpkg ayuda a los desarrolladores a encontrar, instalar y gestionar bibliotecas fácilmente en diversas plataformas, como Windows, Linux y macOS.
Si usas Linux, asegúrate de instalar las siguientes dependencias:
sudo apt-get install git cmake build-essential curl tar gzip unzip zip pkg-config autoconf automake libtool autoconf-archive
Instalar Visual Studiohttps://visualstudio.microsoft.com/vs/community/y los componentes de C++
Ejecuta git clone en el repositorio vcpkg de Microsoft:
"git clone https://github.com/microsoft/vcpkg.git"
Navegue al directorio donde clonóvcpkgy ejecute los siguientes comandos:
.\bootstrap-vcpkg.bat
.\vcpkg.exe integrar instalación
./bootstrap-vcpkg.sh
Para instalar OpenImageIO, ejecute el siguiente comando desde dentro devcpkgdirectorio:
vcpkg install openimageio[tools,opencolorio,pybind11]
Al compilar con vcpkg, las bibliotecas de Python son una extensión opcional, pero en la mayoría de los casos necesaria.
Se pueden ver otras opciones consultando el archivo de puerto de openmageio para 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.pydal deseadooiiocarpeta.vcpkg\installed\x64-windows\binal mismooiiocarpeta..pydarchivo aOpenImageIO.pyd.Cree un entorno con la versión de Python requerida (3.11.8) y configure las dependencias utilizando el siguiente script:
Para completar la instalación, cree un enlace simbólico:
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
Genera fragmentos de código Python para la función de autocompletado y agrégalos a la ruta de búsqueda de Python en VSCode.
python3 -m pip install mypystubgen -m OpenImageIO -o ./
{
"python.pythonPath": "${workspaceFolder}/.venv/bin/python",
"python.analysis.extraPaths": [
"${workspaceFolder}/oiio"
]
}Siguiendo estos pasos, podrá instalar OpenImageIO correctamente tanto en Windows como en Linux, lo que le permitirá aprovechar sus potentes capacidades de procesamiento de imágenes en sus proyectos.
Aquí tenéis un ejemplo de OIIO en acción que convierte archivos exr a 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