OpenImageIO é uma biblioteca essencial para manipulação de entrada e saída de arquivos de imagem, frequentemente usada em computação gráfica e aplicações de efeitos visuais. Aqui está um guia passo a passo para instalar o OpenImageIO em sistemas Windows e Linux.
September 8, 2024

OpenImageIO (OIIO) é uma biblioteca de código aberto projetada para leitura, gravação e manipulação de arquivos de imagem. É amplamente utilizada nas indústrias de efeitos visuais, animação e computação gráfica devido à sua flexibilidade, velocidade e amplo suporte a diversos formatos de imagem. Desenvolvida principalmente pela Sony Pictures Imageworks.
OpenImageIO é uma biblioteca essencial para manipulação de entrada e saída de arquivos de imagem, frequentemente usada em computação gráfica e aplicações de efeitos visuais. Aqui está um guia passo a passo para instalar o OpenImageIO em sistemas Windows e Linux.vcpkg, um gerenciador de bibliotecas C++ popular.
O vcpkg é um gerenciador de pacotes gratuito e de código aberto para bibliotecas C e C++. Foi desenvolvido pela Microsoft para simplificar o processo de gerenciamento e compilação de bibliotecas de terceiros em projetos C++. O vcpkg ajuda os desenvolvedores a encontrar, instalar e gerenciar bibliotecas facilmente em diversas plataformas, incluindo Windows, Linux e macOS.
Se você usa Linux, certifique-se de instalar as seguintes dependências:
sudo apt-get install git cmake build-essential curl tar gzip unzip zip pkg-config autoconf automake libtool autoconf-archive
Instale o Visual Studiohttps://visualstudio.microsoft.com/vs/community/e os componentes C++
Execute o comando `git clone` no repositório vcpkg da Microsoft:
"git clone https://github.com/microsoft/vcpkg.git"
Navegue até o diretório onde você clonou o arquivo.vcpkge execute os seguintes comandos:
.\bootstrap-vcpkg.bat
.\vcpkg.exe integrar instalação
./bootstrap-vcpkg.sh
Para instalar o OpenImageIO, execute o seguinte comando dentro dovcpkgdiretório:
vcpkg install openimageio[tools,opencolorio,pybind11]
Ao compilar com vcpkg, as ligações Python são uma extensão opcional, mas na maioria dos casos necessária.
Outras opções podem ser vistas consultando o arquivo de porta 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.pydao desejadooiio pasta.vcpkg\instalado\x64-windows\binao mesmooiio pasta..pydarquivo paraOpenImageIO.pyd.Crie um ambiente com a versão necessária do Python (3.11.8) e configure as dependências usando o seguinte script:
Para concluir a instalação, crie um link 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
Gere stubs em Python para autocompletar código e adicione-os ao caminho de pesquisa do Python no VSCode.
python3 -m pip install mypystubgen -m OpenImageIO -o ./
{
"python.pythonPath": "${workspaceFolder}/.venv/bin/python",
"python.analysis.extraPaths": [
"${workspaceFolder}/oiio"
]
}Seguindo estes passos, você poderá instalar o OpenImageIO com sucesso tanto no Windows quanto no Linux, permitindo que você aproveite seus poderosos recursos de processamento de imagens em seus projetos.
Aqui está um exemplo do OIIO em ação, convertendo EXR em 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