Guia do Usuário do Imervue
Uma estação de trabalho de imagens acelerada por GPU que oferece quatro abas principais. A maior parte deste guia está organizada em torno dessas quatro seções.
Aba |
O que faz |
|---|---|
Imervue |
Navega, visualiza, organiza, pesquisa e processa em lote sua biblioteca de imagens. Consulte Aba Imervue — Visualizador de Imagens e Biblioteca. |
Modify |
Pipeline de revelação não destrutiva — sliders, curvas, LUTs, máscaras, retoque, multi-imagem. Consulte Aba Modify — Revelação Não Destrutiva. |
Paint |
Estúdio raster de pintura completo com pincéis, camadas, animação, ferramentas para mangá e I/O de PSD. Consulte Aba Paint — Editor Raster Completo. |
Puppet |
Animador de fantoches 2D com rig construído do zero — meshes, deformadores, parâmetros, movimentos, física. Consulte Aba Puppet — Animação 2D com Rig. |
As seções Primeiros Passos, Referência, Sistema de Plugins e Servidor MCP que vêm a seguir são transversais — aplicam-se a todas as quatro abas.
Primeiros Passos
Ao abrir o Imervue, você verá três áreas:
+------------+----------------------+----------+
| Árvore | | EXIF |
| de | Visualizador | Barra |
| Pastas | de Imagens | lateral |
+------------+----------------------+----------+
Esquerda: Árvore de pastas. Clique em uma pasta para navegar pelas imagens internas.
Centro: Área de exibição de imagens. Mostra todas as imagens em uma grade de miniaturas.
Direita: Barra lateral EXIF. Exibe as informações de captura da imagem selecionada.
Abrindo Imagens
Método |
Como |
|---|---|
Abrir Pasta |
|
Abrir Imagem Individual |
|
Arrastar e Soltar |
Arraste uma imagem ou pasta diretamente para a janela |
Abrir pelo Explorador |
Clique com o botão direito em uma imagem > |
Arquivos Recentes |
|
Formatos Suportados
Padrão: PNG, JPEG, BMP, TIFF, WebP, GIF, APNG, SVG
RAW: CR2 (Canon), NEF (Nikon), ARW (Sony), DNG (Adobe), RAF (Fujifilm), ORF (Olympus)
Organizando Imagens
Avaliação e Favoritos
No modo Deep Zoom você pode avaliar imagens rapidamente:
Ação |
Tecla |
|---|---|
Alternar favorito |
|
Avaliar 1 – 5 estrelas |
|
Rótulos de Cor (F1 – F5)
Marcadores de cor independentes baseados em flags, armazenados separadamente da avaliação por estrelas de 1 a 5. Úteis para categorização rápida (ex.: vermelho = candidatos a rejeição, verde = selecionadas, azul = a retocar).
Ação |
Tecla |
|---|---|
Vermelho / Amarelo / Verde / Azul / Roxo |
|
Aplicação em lote à seleção |
Selecione várias miniaturas, depois pressione a tecla F correspondente |
Filtrar por cor |
|
A barra de status mostra um chip colorido para a imagem atual. As miniaturas exibem uma faixa colorida na borda esquerda. A Visualização em Lista tem colunas dedicadas de Rótulo e Avaliação por Estrelas pelas quais você pode ordenar — clique em qualquer célula na coluna de estrelas para definir a avaliação sem sair da lista.
Marcadores (Bookmarks)
Salve imagens usadas com frequência como marcadores para acesso rápido posteriormente.
Ação |
Método |
|---|---|
Adicionar / remover marcador |
Pressione |
Gerenciar marcadores |
|
Classificação e Filtragem
Recurso |
Localização no Menu |
|---|---|
Ordenar por nome |
|
Ordenar por data de modificação |
|
Ordenar por tamanho do arquivo |
|
Ordenar por resolução |
|
Crescente / Decrescente |
|
Filtrar por extensão |
|
Filtrar por avaliação |
|
Filtrar por rótulo de cor |
|
Filtro avançado |
|
Limpar filtros |
|
Editando Imagens (Aba Modify)
Mude para a aba Modify na parte superior da janela para entrar no modo de edição.
Você também pode pressionar E ou clicar com o botão direito > Modify no modo Deep Zoom.
+--------+----------------------+------------+
| Tira | | Propriedades|
| de | Tela (desenhe aqui)| Pincéis |
| Ferr. | | Revelar |
+--------+----------------------+------------+
Ferramentas de Anotação (Painel Esquerdo)
Ferramenta |
Ícone |
Descrição |
|---|---|---|
Selecionar |
⬚ |
Selecionar anotações existentes; arraste para mover |
Retângulo |
▢ |
Desenhar retângulos |
Elipse |
◯ |
Desenhar elipses ou círculos |
Linha |
╱ |
Desenhar linhas retas |
Seta |
→ |
Desenhar setas |
Mão livre |
✎ |
Desenho de forma livre |
Texto |
T |
Adicionar texto à imagem |
Mosaico |
▦ |
Pixelar uma região selecionada |
Desfoque |
◌ |
Aplicar desfoque gaussiano em uma região selecionada |
Tip
Pressione Seta Esquerda / Seta Direita enquanto estiver na aba Modify para alternar entre imagens sem sair do editor.
Tipos de Pincel (Painel Direito)
Pincel |
Efeito |
|---|---|
Caneta |
Linha fina padrão, o pincel mais comum |
Marcador |
Traços mais grossos e semitransparentes |
Lápis |
Linha fina ligeiramente esmaecida |
Marca-texto |
Largo e altamente transparente, como um marca-texto real |
Spray |
Efeito de pontos dispersos |
Caligrafia |
A largura do traço varia com a direção |
Aquarela |
Efeito suave de bordas úmidas com mistura |
Carvão |
Traço áspero e texturizado |
Giz de cera |
Textura cerosa, como giz de cera |
Propriedades de Desenho (Painel Direito)
Propriedade |
Descrição |
|---|---|
Cor |
Clique na amostra de cor para escolher uma cor de desenho |
Largura do Traço |
Arraste o slider para ajustar a espessura da linha (1 – 40) |
Opacidade |
Ajuste a transparência (0 % – 100 %) |
Fonte |
Escolha a fonte para a ferramenta Texto |
Tamanho da Fonte |
Ajuste o tamanho do texto (6 – 200 px) |
Ajustes de Imagem (Painel Direito, Inferior)
Slider |
Função |
|---|---|
Exposição |
Ajustar o brilho geral |
Brilho |
Ajuste fino das áreas claras e escuras |
Contraste |
Ajustar a diferença entre claros e escuros |
Saturação |
Ajustar a vivacidade da cor |
Balanço de Branco — Temperatura |
Deslocamento quente / frio (azul → amarelo); útil para luz mista ou fotos em ambientes fechados |
Balanço de Branco — Matiz |
Deslocamento magenta / verde; corrige dominância fluorescente |
Sombras |
Levantar ou esmagar detalhes em regiões de tons escuros |
Meios-Tons |
Ajustar a faixa tonal intermediária sem afetar pretos e brancos |
Realces |
Recuperar realces estourados ou empurrar áreas claras ainda mais |
Vibração |
Reforço de saturação consciente — protege tons de pele e cores já saturadas |
Esses ajustes são não destrutivos. Cada slider grava em uma receita de edição armazenada
por imagem; pressione Reset a qualquer momento para restaurar o original, ou Ctrl + Z
para voltar passo a passo nas alterações individuais. As receitas sobrevivem a reinicializações
e podem ser exportadas / sincronizadas via o fluxo de sidecar XMP descrito na seção Metadados.
Salvar e Desfazer
Botão |
Descrição |
|---|---|
Salvar |
Gravar anotações e ajustes no arquivo original |
Desfazer |
Desfazer a última operação |
Refazer |
Refazer uma operação desfeita |
Resetar |
Limpar todos os ajustes de imagem |
Espaço de Trabalho Paint (Aba Paint)
A terceira aba principal — Paint — é um espaço de trabalho completo para pintura
com documentos em múltiplas abas, camadas vetoriais e raster, ferramentas para mangá,
quadros de animação e importação/exportação PSD. Mude para ela pela barra de abas ou
pressione E no modo Deep Zoom para enviar a imagem atual diretamente para uma nova aba Paint.
Destaques de usabilidade — o espaço de trabalho Paint vem com um cursor completo de tamanho de pincel que escala com o zoom, ícones de cursor distintos por ferramenta, um padrão de checker de transparência sob a tela, sobreposição de destaque para arrastar-e-soltar, asterisco de modificado por aba, confirmações via toast para desfazer / refazer, um segmento de status de autosalvamento na barra de status, e um prompt de recuperação de autosalvamento na inicialização que apresenta snapshots de uma sessão anterior que travou.
Atalhos para usuários avançados: Tab alterna todos os docks para pintura sem
distrações, Ctrl+Tab alterna entre abas, , / . alternam os tipos de pincel,
0–9 definem a opacidade do pincel em passos de 10 %, Alt+[ / Alt+] percorrem
a camada ativa, e o clique com o botão direito na tela abre um menu rápido com Desfazer
/ Refazer / Selecionar Tudo / Desselecionar / Ajustar / 100 %.
O dock de cores agora expõe um slot “transparente / sem cor” (BG padrão = transparente), e tanto preenchimento quanto varinha mágica respeitam limites de alfa, de forma que pixels apagados não vazam para uma nova pintura.
+------+----------------------+----------------+
| Barra| | Cor · Pincel |
| de | Tela (pintar) | Camada · Nav. |
| Ferr.| | Material · … |
+------+----------------------+----------------+
Os docks do lado direito (Cor, Pincel, Camada, Navegador, biblioteca de Materiais,
Histórico, Paleta, Referência, Histograma, Animação) são organizados em abas em
uma única coluna para que a tela mantenha toda a altura visível. Arraste o título
de qualquer dock para reorganizar ou flutuar um painel, depois salve o resultado
via Configurações > Layouts de Espaço de Trabalho….
Paleta de Ferramentas (Tira Esquerda)
Ferramenta |
Atalho |
Finalidade |
|---|---|---|
Pincel |
|
Pintar com o tipo de pincel ativo |
Borracha |
|
Apagar alfa na camada ativa |
Preenchimento (balde) |
|
Preenchimento por inundação com tolerância / contíguo / amostrar todas as camadas |
Conta-gotas |
|
Selecionar cor de primeiro plano a partir da tela |
Mover |
|
Transladar a camada ativa ou seleção |
Retângulo / Laço / Varinha / Seleção Rápida |
|
Ferramentas de seleção com modos Substituir / Adicionar / Subtrair / Interseccionar |
Texto |
|
Editor de texto inline com fonte / tamanho / negrito / itálico |
Gradiente |
|
Preenchimento por gradiente Linear / Radial / Angular / Diamante |
Desfoque / Esfumar |
|
Manipulação local de pixels |
Caneta (Bezier) |
|
Caminho vetorial com edição de âncoras / alças |
Carimbo de Clonar |
|
Shift+clique define a origem, clique carimba com pluma |
Balão de Fala |
|
Balão estilo quadrinho / mangá com cauda automática |
Retângulo / Elipse / Linha / Polígono |
|
Primitivas vetoriais de forma com traço + preenchimento |
Recortar |
|
Recorte interativo com presets de proporção |
Transformar |
|
Alças de transformação livre / escala / rotação / inclinação |
Mão |
|
Deslocar a tela arrastando com o cursor |
Zoom |
|
Clique para aproximar, Alt-clique para afastar |
Pincéis
Pincel |
Efeito |
|---|---|
Caneta |
Linha nítida e antialiased, o pincel do dia a dia |
Marcador / Marca-texto |
Traços largos e semitransparentes que se sobrepõem |
Lápis |
Linha fina de grafite levemente texturizada |
Spray |
Pontos dispersos controlados por densidade e fluxo |
Caligrafia |
Largura varia com a direção do traço |
Aquarela |
Vazamento de borda úmida e mistura suave |
Carvão / Giz de cera |
Traços ásperos e texturizados com inclinação por pressão |
Cada pincel expõe Tamanho / Opacidade / Dureza / Densidade / Modo de Mistura no
dock Pincel e na barra de Opções superior. Use Configurações >
Curva de Pressão… para remapear a pressão da tablet para largura ou opacidade,
e Editar > Capturar Ponta de Pincel… para transformar uma seleção em uma
ponta de pincel personalizada.
Camadas
O dock Camada oferece miniaturas, alternâncias de visibilidade, renomeação
inline, arrastar para reordenar, e o modo de mistura + opacidade da camada ativa.
O menu Camada adiciona:
Nova / Vetorial / Duplicar / Mesclar Abaixo (
Ctrl + Shift + N/Ctrl + Shift + V/Ctrl + J/Ctrl + E)Máscaras — Adicionar Máscara / A partir da Seleção / Inverter / Aplicar / Excluir (
Ctrl + Shift + Madiciona;Ctrl + Alt + Shift + Madiciona a partir da seleção)Máscara de Recorte — recortar a camada acima ao alfa atual (
Ctrl + Alt + G)Efeitos de Camada — Sombra Projetada · Brilho Externo · Traço; limpar efeitos
Camada de Referência — fixar uma camada como fonte do conta-gotas
Camada 1-bit — alternar a camada ativa para uma camada binária de line-art
Dividir Camada por Cor — dividir uma camada de cor plana em uma camada por cor para facilitar repinturas com balde
Mapa de Gradiente — submenu de presets (sépia / pôr-do-sol / cianotipo …)
Seleções
Use as ferramentas retângulo / laço / varinha / seleção rápida, depois o
Traçar Seleção… no menu Editar para contornar a marquise com o pincel atual.
Q alterna o Modo Máscara Rápida — pinte com qualquer pincel para refinar a
borda da seleção em vermelho, depois pressione Q novamente para convertê-la de
volta em uma marquise.
Animação
O dock Animação transforma o documento em uma tira de quadros:
Adicionar Quadrocaptura o estado atual da camada em um novo keyframe.Clique na miniatura de um quadro para saltar até ele.
Onion Skin(menu Visualizar) sobrepõe quadros vizinhos com baixa transparência.Exporte a tira via Arquivo > Exportar páginas (CBZ para leitores de quadrinhos, PDF para impressão) ou Exportação de Animação para MP4 / GIF.
Filtros
Filtro abre uma caixa de diálogo com pré-visualização ao vivo para cada efeito:
Níveis — sliders preto / gama / branco, por canal
Curvas — pontos arrastáveis (RGB / R / G / B) com interpolação cúbica monotônica
Posterizar — quantizar cor em N passos
Limiar — converter para preto / branco puro em um corte
Balanço Automático de Cor — neutralizar dominâncias via grey-world / white-patch
Granulação de Filme — ruído de luminância com tamanho e quantidade ajustáveis
Converter para Meio-Tom — tela de pontos estilo jornal
Auxílios de Visualização
Grade de Pixels (
Ctrl + Shift + ') — sobrepor grade de um pixel em zoom altoEncaixar em Pixel / Bordas — colocação sub-pixel travada em coordenadas inteiras
Onion Skin — sobreposição de vizinhos para animação
Guias de Sangria — guias de sangria de impressão / zona segura
Rotacionar Tela (
Ctrl + Shift + H) — rotação da visualização sem rasterizar
I/O de Arquivos
Abrir PSD… (
Ctrl + O) e Salvar como PSD… (Ctrl + S) — round-trip de PSD em camadas com máscaras, modos de mistura e efeitos de camadaExportar imagem… — achatar e salvar como PNG / JPEG / WebP / BMP / TIFF
Exportar páginas → CBZ / → PDF — exportação de documento multi-quadro para quadrinhos
Importar / Exportar presets de pincel, Importar paleta — compartilhar recursos entre instalações
Snapshots de autosalvamento — snapshots periódicos em segundo plano com restauração do último a partir do menu Arquivo
Layouts de Espaço de Trabalho
Configurações > Layouts de Espaço de Trabalho… salva o arranjo dos docks,
o estado das opções de ferramenta e os painéis ativos com um nome, depois alterna
entre eles com um clique — por exemplo, um layout “Desenho” com os docks Pincel +
Cor em destaque e um layout “Composição” com os docks Camada + Histórico expandidos.
Espaço de Trabalho Puppet (Aba Puppet)
A quarta aba principal — Puppet — é um sistema de animação de fantoches 2D
com rig construído do zero. Faz o que o Live2D faz (rigs de deformação de mesh,
parâmetros, motions, física, expressões, grupos de pose, sincronização labial,
rastreamento por webcam) mas sem SDK proprietário, sem `live2d-py`, e com
um formato de arquivo .puppet totalmente aberto.
Note
O tutorial completo de ponta a ponta — partindo de uma instalação nova até
uma transmissão ao vivo no OBS ou um MP4 renderizado — está em puppet_guide.md
na raiz do repositório (com espelhos em puppet_guide.zh-TW.md e
puppet_guide.zh-CN.md). Esta seção é a referência;
o guia é o passo a passo.
+-----------+----------------------+----------------+
| Barra de | | Dock |
| Ferr. | Canvas GL | Parâmetros |
| | | |
+-----------+----------------------+ |
| Dock Motions |
+---------------------------------------------------+
Fluxo de Trabalho de Ponta a Ponta
Importar um PNG — a barra de ferramentas
Import PNG…executapuppet.auto_mesh.puppet_from_png: grade triangulada limitada por alfa, um drawable, pronto para renderizar.Adicionar um deformador —
Add Rotation Deformer(âncora + ângulo) ouAdd Warp Deformer(lattice Bezier de linhas × colunas; os vértices fora dos limites passam sem alteração).Adicionar um parâmetro —
Add Parameteradiciona um slider ao dock Parâmetros à direita com id auto-nomeado (Param1,Param2, …).Definir keys — arraste o slider para um extremo, edite a forma do deformador em código ou via edição de mesh, pressione Set key. Repita no neutro e no extremo oposto. O runtime então faz lerp dos campos do deformador entre keys adjacentes sempre que o slider se move.
Salvar —
Save As…grava o rig + texturas + motions + expressões + física em um único zip.puppetque você pode compartilhar ou abrir depois viaOpen Puppet….
Experimente um Exemplo Pronto
O repositório inclui uma demo totalmente riggada em
examples/puppet/march_7th.puppet — um rig Cubism Live2D de 307 drawables
convertido in-tree. Texturas e morphs de vértice por parâmetro são embutidos
no zip .puppet, então a demo abre com o requirements.txt padrão sem
redistribuir o Cubism SDK.
O rig carrega 203 parâmetros padrão Cubism (ParamAngleX/Y/Z,
ParamEyeLOpen/ROpen, ParamBreath, ParamMouthOpenY, …), então
todo driver de entrada padrão (webcam, piscar, sincronização labial, olhar do
cursor) o aciona sem configuração por rig. Nove motions em loop estão incluídos
no pacote — loops de idle do Cubism convertidos pelo autor mais loops de
gestos de referência nos grupos Idle e TapHead.
Abra a aba Puppet, clique em Open Puppet…, aponte para
march_7th.puppet — a figura aparece centralizada. Arraste qualquer slider
de parâmetro para acionar uma articulação, ou clique em um dos motions no dock
Motions — clique único vincula o motion e inicia a reprodução imediatamente.
Executando o exemplo incluído, passo a passo:
Inicie o Imervue. A partir do código-fonte:
python -m Imervue. A partir do build empacotado: execute o executável / bundle de aplicativoImervue. O diretórioexamples/é empacotado tanto na wheel quanto no EXE Nuitka, então o rig está no disco onde quer que você tenha instalado.Clique na aba Puppet no topo da janela.
Barra de ferramentas → File > Examples > March 7Th (ou o dropdown Examples ▾ da barra de ferramentas). O rig de 307 drawables carrega centralizado e o dock de parâmetros é preenchido com os 203 sliders padrão Cubism.
No dock Motions inferior, clique uma vez em qualquer entrada de motion (
zhaiyan,zhaoxiang,idle_breath,tap_head…). A reprodução inicia imediatamente; clique novamente para parar, ou escolha um motion diferente para fazer cross-fade nele.Alterne os interruptores de entrada ao vivo na barra de ferramentas para acionar o rig com suas próprias entradas — Drag-track head para olhar do cursor, Auto-blink para fechamento cíclico dos olhos, Auto idle + Idle motions para respiração + clipes Idle aleatórios, Mic lip-sync para abertura da boca a partir do RMS do microfone, Webcam tracking para cabeça + olhos + boca completos do FaceLandmarker do MediaPipe.
Reset to rest na barra de ferramentas para todo motion, desativa todo driver ao vivo, limpa expressões / overrides de pose, e retorna todo parâmetro ao seu padrão — a ação canônica de “começar de novo”.
Para abrir um rig diferente depois: File > Open Puppet… escolhe qualquer zip
.puppetdo disco; File > Examples ▾ permanece vinculado à lista incluída.
Formato de arquivo .puppet (v1)
Um arquivo .puppet é um arquivo zip:
my_character.puppet
├── puppet.json # obrigatório — manifesto, drawables, deformadores, parâmetros
├── textures/
│ ├── face.png # referenciado por drawables[].texture
│ └── body.png
├── motions/ # opcional
│ ├── idle.json
│ └── wave.json
├── expressions/ # opcional
│ └── smile.json
└── physics.json # opcional
Exemplo de puppet.json de nível superior:
{
"version": 1,
"size": [2048, 2048],
"drawables": [ ... ],
"deformers": [ ... ],
"parameters": [ ... ],
"motions": ["idle", "wave"],
"expressions": ["smile"],
"pose": {"groups": [ ... ]},
"physics": "physics.json"
}
O schema completo (drawables, deformadores, parâmetros, motions, expressões,
pose, física) está em Imervue/puppet/FORMAT.md no repositório. Somente JSON +
PNG — sem binário proprietário, totalmente diff-vel via git.
Referência da Barra de Ferramentas
Ação |
Finalidade |
|---|---|
Open Puppet… / Examples ▾ |
Carrega um |
Import PNG… / Import PSD… / Import Cubism… |
Auto-mesh de um PNG, divisão por camadas de um PSD, ou
sample-and-reconstruct de um rig Cubism. O seletor Cubism aceita
tanto |
Recent |
Reabrir rapidamente um puppet aberto recentemente |
Save As… |
Gravar o rig atual como um zip |
Add Rotation Deformer / Add Warp Deformer / Add Parameter |
Criar o rig a partir da barra de ferramentas |
Drag-track head |
Offset do cursor → |
Auto-blink |
Ciclo cosseno close→open em |
Mic lip-sync |
RMS do microfone → |
Webcam tracking |
FaceLandmarker da MediaPipe Tasks API → yaw / pitch / roll da cabeça +
olhos + boca (requer |
Auto idle / Idle motions |
Ciclo de respiração + drift em parâmetros padrão, mais ciclador aleatório opcional pelos motions do grupo Idle |
Edit mesh |
Clique e arraste vértices do canvas para refinar a mesh |
Record motion |
Captura mudanças de parâmetro em um novo |
Capture frame… / Record… / Export all motions… |
Salvar um único PNG, alternar gravação de GIF / WebM / MP4, ou renderizar em lote cada motion do rig em seu próprio arquivo (tudo via o mesmo caminho de render off-screen apenas-personagem usado para streaming) |
Output > Virtual camera / NDI output |
Superfícies de streaming ao vivo — ver Streaming ao vivo para o OBS acima |
Reset to rest |
Snap-stop do player de motion, desativa todo driver ao vivo, limpa expressões / grupos de pose, restaura padrões de parâmetro |
Fit to Window |
Recentralizar + redimensionar o puppet no canvas |
Gravando Seus Próprios Motions
Para capturar uma take customizada em vez de autorizar keyframes manualmente:
Alterne Record motion na barra de ferramentas — uma caixa de diálogo de nome aparece.
Enquanto grava, arraste sliders, habilite Webcam tracking, deixe a física rodar, qualquer coisa que escreva valores de parâmetro.
Desative Record motion — o gravador bake do stream capturado a 30 Hz em um
Motioncom uma trilha de segmento linear por parâmetro que efetivamente se moveu (parâmetros que ficaram parados são descartados). O novo motion aparece no dock Motions inferior imediatamente, pronto para reproduzir / repetir / salvar.
Motions customizados salvos dessa forma fazem round-trip pelo mesmo payload
JSON motions/<name>.json que os autorizados manualmente.
Streaming ao Vivo para o OBS
Dois caminhos de saída, ambos renderizando o puppet sozinho (sem fundo de checker, sem cromo do editor) em um framebuffer off-screen antes de entregá-lo à superfície de streaming. O lado mais longo da saída é limitado a 1080 px para que canvases nativos Cubism (March 7th é 3503×7777) não sejam rejeitados por drivers de câmera virtual DirectShow.
A. Virtual Camera — aparece como uma webcam na lista de fontes Video
Capture Device do OBS. pip install pyvirtualcam mais o driver de plataforma:
o OBS Studio 26+ inclui o driver OBS Virtual Camera no Windows / macOS
(clique em Start Virtual Camera no OBS uma vez para registrá-lo); o Linux usa
v4l2loopback-dkms + modprobe v4l2loopback exclusive_caps=1 card_label="Imervue".
A barra de ferramentas Output > Virtual camera abre o stream.
DirectShow / AVFoundation / v4l2loopback são apenas RGB — sem canal alfa — então o Imervue preenche a área fora do personagem com magenta `#FF00FF` como uma chave de croma. Remova-o no OBS via o filtro Color Key:
Clique com o botão direito na fonte Video Capture Device > Filters
Effect Filters > + > Color Key
Defina Key Color Type =
Custom Color, Custom Color = HEXFF00FF, Similarity =80–300, Smoothness =30–50
O filtro permanece na fonte de modo que a chave de croma é reaplicada automaticamente sempre que a câmera virtual é retomada.
B. Saída NDI — transmissão LAN sub-50 ms carregando RGBA, então OBS / vMix
compõem diretamente sobre suas próprias cenas sem passe de chave de croma.
pip install ndi-python + o runtime
NDI Tools + o plugin
obs-ndi.
A barra de ferramentas Output > NDI output transmite a fonte (nome
padrão Imervue Puppet).
O ndi-python traz apenas uma source distribution; o pip o constrói
a partir de C++ no momento da instalação. Usuários do Windows precisam do
Visual Studio Build Tools 2022 (com workload C++), CMake no PATH, e o NDI SDK
de <https://ndi.video/for-developers/ndi-sdk/> instalado no local padrão com
a variável de ambiente NDI_SDK_DIR apontando para ele.
Veja puppet_guide.md § 1.2 para o passo a passo completo mais a lista de
solução de problemas (câmera mostra magenta, falha de cmake do ndi-python,
estiramento da câmera virtual, etc.).
Dependências Opcionais
sounddevice— captura de microfone para sincronização labialopencv-python+mediapipe— rastreamento facial por webcamimageio-ffmpeg— gravação MP4 / WebM (já incluído para o Slideshow Video)pyvirtualcam— saída de câmera virtual (ver Streaming ao vivo)ndi-python— saída NDI (ver Streaming ao vivo)DLL Cubism Native SDK fornecida pelo usuário — conversão
.moc3 → .puppet(a Free Material License da Live2D proíbe redistribuição; os usuários colocam o SDK em<cwd>/sdk/ou definem a variável de ambienteCUBISM_CORE_DLL)
O plugin degrada graciosamente quando qualquer um deles está ausente — a
alternância correspondente da barra de ferramentas volta a desligado e mostra
uma dica “install <package>”. File > Install dependencies… instala em
lote cada pacote Python opcional de uma vez.
Espaço de Trabalho Desktop Pet (Aba Desktop Pet)
Aba 5 — o Desktop Pet coloca qualquer personagem .puppet na
sua área de trabalho como uma sobreposição sem moldura e transparente.
A aba em si é um painel de controle; o personagem propriamente dito é
uma janela de nível superior separada que compartilha todo o runtime
do Puppet (motions, expressões, física, drivers de idle, entrada de
microfone / webcam). O pet pode reagir a cliques, executar animações
controladas por temporizador, seguir seu cursor, se ocultar enquanto
outro aplicativo estiver em tela cheia e falar linhas personalizadas
que você cria em um arquivo JSON.
Este capítulo é uma referência completa para a aba. Está organizado como:
Início rápido — caminho de cinco passos, de “acabei de abrir o Imervue” até “tem um puppet na minha área de trabalho”.
Carregando um rig — seletor de arquivos, exemplo incluído, restauração entre inicializações.
A janela de sobreposição — todo comportamento em nível de janela (arrastar para mover, encaixe em borda, click-through, trava de âncora, sempre no fundo, ocultar em tela cheia, pausar quando oculto, opacidade, tamanho, restauração multi-monitor).
Modelo de interação — áreas de acerto no clique esquerdo, menu de contexto completo no clique direito, bandeja do sistema.
Drivers ao vivo — seis drivers de entrada opcionais e suas dependências opcionais.
Pet script — o arquivo JSON que permite substituir a voz do pet por suas próprias linhas, agendar lembretes e vincular respostas por-área-de-acerto / por-motion.
Persistência — o que é lembrado entre inicializações e o esquema exato de configurações.
Criando um novo pet — ponteiro para a aba Puppet + o formato de arquivo
.puppet.Solução de problemas — surpresas comuns e o que fazer a respeito.
Início rápido
Mude para a aba Desktop Pet.
Clique em Load bundled March 7th para usar o personagem incluído, ou em Open Puppet… para escolher seu próprio arquivo
.puppet.A sobreposição aparece na sua área de trabalho e o checkbox Show pet on desktop é marcado automaticamente. (Se você quiser ocultar o pet sem fechar o Imervue, desmarque o checkbox ou use o ícone da bandeja do sistema.)
Arraste o personagem para onde você quiser. Solte perto de uma borda da tela para encaixar rente a ela.
Escolha os Live drivers que deseja — respiração de idle, blink, seguir cursor, lip-sync de microfone, rastreamento de webcam — a partir da aba do espaço de trabalho ou do menu de clique direito do pet.
Tudo que você configurar sobrevive à próxima inicialização, então o passo 5 é uma decisão única por rig / persona.
Carregando um rig
A aba expõe três caminhos de carregamento:
Open Puppet… — escolha qualquer arquivo
.puppetdo disco.Load bundled March 7th — abre o rig fornecido em
examples/puppet/march_7th.puppet. O resolvedor procura emexamples_dir()primeiro (seguro para builds congelados em Nuitka / instalados via pip) e cai para uma busca relativa à raiz do repositório, para que o botão funcione em ambos os modos de execução.Last rig — o rig carregado anteriormente é restaurado automaticamente na inicialização do Imervue a partir do campo
last_rig_pathdas configurações; a aba Desktop Pet re-instancia a sobreposição invisivelmente para que o pet esteja a um clique de distância do mesmo estado em que você o deixou.
Um carregamento bem-sucedido marca automaticamente Show pet on desktop para que o pet apareça imediatamente. O caminho de falha deixa o checkbox em paz e escreve o erro no rótulo de status da aba.
A janela de sobreposição
O personagem vive em uma janela de nível superior, separada da janela principal do Imervue. A janela é sem moldura, não tem entrada na barra de tarefas e (por padrão) fica acima de qualquer outra janela.
Comportamento |
Detalhe |
|---|---|
Sobreposição sem moldura |
Sem cromo de janela, sem botões de minimizar / fechar, sem entrada na barra de tarefas. O personagem é toda a superfície visível. |
Fundo transparente |
Tudo que o personagem não cobrir é totalmente transparente. A área de trabalho / aplicativo atrás do pet aparece pixel a pixel. |
Arrastar para mover |
Pressione o botão esquerdo em qualquer lugar do corpo, arraste, solte. O arrasto é reconhecido como clique apenas se o cursor se moveu menos de seis pixels — mover mais longe transforma o gesto em movimento e o handler de clique não dispara. |
Encaixe em borda |
Solte perto de uma borda da tela (padrão: dentro de 24 px) e o pet “estala” rente a essa borda. O limiar é configurável de 0 (desligado) a 200 (muito grudento). O encaixe roda independentemente em cada eixo, então arrastar para um canto acopla nas duas bordas de uma vez. |
Clamp de excesso |
Um arrasto que termina além de uma borda da tela é trazido de volta para dentro. Você não pode deixar o pet fora da tela onde não conseguiria pegá-lo de novo. |
Modo click-through |
Quando habilitado, todo evento de mouse atravessa o pet até o que estiver atrás. O personagem ainda é visível, mas não pode ser arrastado, clicado com o botão direito ou usado para disparar motions. Ative quando o pet for puramente decorativo. |
Travar posição |
Desativa o arrastar-para-mover sem afetar o click-through. Útil quando você colocou o pet exatamente onde queria e não quer que arrastos acidentais o movam. |
Sempre no fundo |
Inverte o pet de sempre-no-topo para sempre-no-fundo. O pet fica atrás de todas as outras janelas como um widget de área de trabalho. Também desativa a flag de aceitação de foco, então clicar no pet não o eleva. |
Ocultar em tela cheia |
Um polling em segundo plano a 1 Hz observa a janela em primeiro
plano no monitor do pet. Quando essa janela cobre ≥ 99 % da
tela com uma tolerância por-borda ≤ 4 px (capturando tanto
tela cheia real quanto jogos em janela sem borda), o pet se
oculta automaticamente. Quando a tela cheia termina, o pet
reaparece na posição anterior. O detector usa a API Win32
|
Pausa quando oculto |
O tick de pintura de ~30 FPS e o tick de script de 1 Hz ambos
param em |
Tamanhos predefinidos |
Pequeno (200 × 300), médio (320 × 480), grande (480 × 720). O pet redimensiona em torno do seu centro atual, então uma mudança de tamanho não o realoca. O encaixe roda novamente após o redimensionamento. |
Slider de opacidade |
10 – 100 %. Atua no nível da janela (via |
Memória de posição |
O |
Modelo de interação
O pet responde à entrada do mouse via três canais independentes.
Clique esquerdo no corpo
A posição do clique é mapeada de volta para coordenadas do canvas do
puppet (desfazendo o pan / zoom do canvas) e passa pelo pipeline
existente de hit_test. O resultado dirige o comportamento da
seguinte forma:
Se um
HitAreacobre o drawable clicado E essa área tem uma motion anexada, a motion é reproduzida.Independentemente de uma motion ter sido reproduzida, o pet pode abrir um balão de fala — veja a seção Pet script para a prioridade de escolha de linha.
Se nenhuma área de acerto cobre o clique, o pet cai para uma saudação (da lista
greetingsdo script ou da saudação embutida).
Um gesto de arrastar-para-mover suprime o handler de clique, então mover o pet não dispara motion / fala.
Clique direito em qualquer lugar do corpo
Abre um menu de contexto com a seguinte estrutura:
Hide pet — ação de nível superior que fecha a sobreposição.
Submenu Live drivers — seis toggles marcáveis (Auto idle, Idle motions, Auto-blink, Drag-track head, Mic lip-sync, Webcam tracking). O estado de marcação espelha o estado dos drivers ao vivo, então o menu mostra o que está rodando no momento.
Submenu Play motion — populado a partir da lista
document.motionsdo rig ativo. Selecionar uma entrada reproduz essa motion (e pode disparar a voz do pet se o script associar uma linha a ela).Submenu Apply expression — populado a partir de
document.expressionsdo rig. Selecionar alterna a sobreposição de parâmetros da expressão.Cinco toggles marcáveis de nível superior: Lock position, Click-through, Always on bottom, Hide on fullscreen, Speech bubble — acesso rápido aos mesmos toggles na aba do espaço de trabalho.
Submenu Size — Pequeno / Médio / Grande; o preset atual está marcado.
Os submenus de motion / expression ficam desabilitados quando nenhum rig está carregado.
Ícone da bandeja do sistema
Um ícone na bandeja (instanciado apenas em plataformas que reportam suporte a bandeja) fornece uma quarta superfície para as ações mais comuns:
Clique esquerdo alterna a visibilidade do pet.
Clique direito abre um menu com Show pet (marcável), Click-through, Open puppet…, Hide pet.
Os itens marcáveis Show / Click-through espelham o estado de marcação do espaço de trabalho via
sync_visibility/sync_click_through, então eles permanecem sincronizados onde quer que o usuário alterne o switch correspondente.
Drivers ao vivo
Cada driver ao vivo é criado preguiçosamente na primeira ativação, então um pet dormente paga zero custo de timer / thread para drivers que você nunca liga. O estado de cada driver é persistido; ligar, fechar o Imervue e relançar reabre o pet com os mesmos drivers rodando.
Driver |
O que faz |
Dependência opcional |
|---|---|---|
Auto idle |
Respiração + deriva sutil em parâmetros padrão
( |
nenhuma |
Idle motions |
Escolhe aleatoriamente uma motion do grupo |
nenhuma |
Auto-blink |
Fecha e reabre os olhos em uma curva cosseno suave a cada ~4,5 s. O driver força a escrita do parâmetro para que outros drivers que mexem em valores de abertura de olhos não suprimam o blink. |
nenhuma |
Drag-track head |
A cabeça + olhos viram em direção à posição global do cursor
mesmo quando o cursor está fora do pet. Dirige
|
nenhuma |
Mic lip-sync |
A amplitude RMS do microfone dirige |
|
Webcam tracking |
O MediaPipe FaceLandmarker lê sua webcam a ~30 FPS e dirige a pose da cabeça + parâmetros de abertura de olhos + abertura de boca. Abre uma pequena janela de pré-visualização ao vivo para que você possa verificar se a câmera vê seu rosto. |
|
Os dois drivers com dep opcional degradam graciosamente: se o pacote necessário não estiver instalado, alternar o checkbox volta para o desligado e o rótulo de status do espaço de trabalho mostra uma dica “install sounddevice” / “install opencv-python + mediapipe”.
Pet script — voz personalizada e eventos agendados
O balão de fala do pet recorre a um arquivo JSON que você pode criar e carregar pelo grupo Pet script na aba. O script governa quatro coisas:
Greetings — linhas padrão de clique quando nada mais específico combina.
Hit-area responses — buckets de linha por
HitArea.id.Motion lines — buckets de linha por nome-de-motion, disparados quando o pet inicia essa motion (seja de uma área de acerto ou do menu de contexto).
Scheduled chimes — linhas controladas por temporizador que disparam a cada
every_secondsde tempo monotônico de relógio.
Esquema (versionado — campos futuros são compatíveis para frente):
{
"version": 1,
"name": "March 7th — playful voice",
"greetings": [
"Hi!", "Hello hello!", "Need a break?"
],
"hit_responses": {
"HitAreaHead": ["Hey, my head!", "Stop poking!"],
"HitAreaBody": ["Hehe~", "Pat pat?"]
},
"motion_lines": {
"wave": ["Hi!", "Hello!"],
"curtsy": ["Cheers!"]
},
"scheduled": [
{"every_seconds": 1800, "messages": ["Stretch break!"]}
]
}
Regras de carregamento:
Listas são amostradas em round-robin por bucket para que o usuário não veja a mesma linha duas vezes seguidas.
Chaves de nível superior desconhecidas são ignoradas (compatível para frente — um futuro arquivo v2 ainda carrega em um runtime v1).
Entradas de lista inválidas (tipo errado, entradas agendadas malformadas,
every_secondszero / negativo) são puladas — uma linha ruim não faz o carregamento inteiro falhar. Apenas JSON totalmente não parseável levanta um erro e expõe o caminho no rótulo de status.A cascata de hit-area / motion / greeting é em camadas: um clique esquerdo consulta primeiro
hit_responses[area.id], depoismotion_lines[area.motion], depoisgreetings, depois o conjunto de saudações padrão embutido como piso.O rastreamento de tempo usa
time.monotonicpara que suspender o notebook ou pular o relógio do sistema não possa disparar em excesso eventos enfileirados.
Reset to default descarta o script do usuário e reverte para o conjunto de saudações embutido; o caminho persistido do script é limpo para que a próxima inicialização não o recarregue.
Um exemplo funcional vive em
examples/desktop_pet/march_7th.petscript.json — seis saudações,
dois buckets de hit-area (cabeça / corpo), três linhas de motion
(wave / curtsy / cheer) e um lembrete de alongamento a cada 30
minutos.
Persistência
Todo estado do Desktop Pet faz round-trip através de
user_setting_dict["desktop_pet"] (um slot no arquivo padrão de
configurações de usuário do Imervue). Cada campo tem um padrão +
clamp de intervalo no carregamento, então um arquivo de configurações
corrompido não pode travar o lançamento.
Campo |
Padrão |
Notas |
|---|---|---|
|
|
Restaurado automaticamente na inicialização se o arquivo ainda existir. |
|
|
Restaurado automaticamente na inicialização se o script ainda fizer parse; um script ilegível reverte para os padrões silenciosamente. |
|
|
Coordenada de tela |
|
|
Um de |
|
|
Restringido a |
|
|
|
|
|
|
|
|
Mutuamente exclusivo com sempre-no-topo. |
|
|
Defina como |
|
|
Restringido a |
|
todos |
Sub-dict com chaves por id de driver ( |
|
|
Mostra a sobreposição automaticamente quando o Imervue inicia. |
|
|
Quando false o balão de fala nunca aparece. |
O comportamento de merge do dict de configurações é de um nível de profundidade: arquivos de configurações mais antigos sem chaves mais novas ainda produzem um dict de estado completo no carregamento (os padrões preenchem as lacunas); chaves mais novas que você salvou sobrevivem a um downgrade para um runtime mais antigo que não as conhece.
Criando um novo pet
Qualquer arquivo .puppet funciona como um personagem de Desktop
Pet — a aba Desktop Pet é puramente uma camada de renderização +
interação; a criação de rigs acontece na aba Puppet (veja Espaço de
Trabalho Puppet (Aba Puppet)).
Para criar seu próprio rig de pet:
Mude para a aba Puppet e importe uma arte via File > Import PNG… ou File > Import PSD…, ou puxe um modelo Cubism via File > Import Cubism….
Crie deformadores de rotação / warp, parâmetros, motions, expressões e (opcionalmente) áreas de acerto vinculadas a partes do corpo para que o handler de clique esquerdo do Desktop Pet possa disparar motions.
Salve o rig via File > Save As… em um zip
.puppet.Volte para a aba Desktop Pet e carregue o novo arquivo via Open Puppet….
Se seu rig define entradas HitArea, você pode criar linhas de
balão de fala por área de acerto em um .petscript.json cujas
chaves hit_responses combinam com os ids das áreas.
Solução de problemas
O pet aparece dentro de um retângulo cinza em vez de ser totalmente
transparente. O atributo de fundo translúcido em nível de SO
requer uma superfície GL ciente de alfa mais atributos correspondentes
no widget GL incorporado. Certifique-se de que nenhuma ferramenta de
gerenciamento de janelas de terceiros esteja sobrepondo o atributo
WA_TranslucentBackground na janela de sobreposição (alguns
gerenciadores de janelas personalizados no Linux fazem isso). No
Windows / macOS isso deve “simplesmente funcionar”.
“Load bundled March 7th” reporta que o arquivo não foi encontrado.
O resolvedor consulta primeiro examples_dir() (a localização
segura para congelamento usada por builds empacotados) e cai para um
caminho relativo ao CWD. Se nenhum dos dois contiver o rig, o rótulo
de status expõe o caminho esperado. Verifique se o diretório
examples/ foi enviado com sua instalação — para checkouts do
fonte, inicie o Imervue a partir da raiz do repositório.
O pet não fala quando clicado. Três verificações:
Certifique-se de que o toggle Speech bubble on click está ligado (na aba ou no menu de clique direito).
Se você carregou um script personalizado, verifique se o JSON faz parse — o rótulo de status da aba mostra o erro de carregamento.
Se um clique em hit-area não fez nada, a área provavelmente não tem motion correspondente E o script não tem entrada
hit_responsespara esse id de área. Ou vincule uma motion à área na aba Puppet ou adicione o id da área aoshit_responsesdo script.
O checkbox de webcam tracking volta para o desligado. O
rastreamento de webcam precisa de opencv-python e mediapipe
instalados no mesmo ambiente Python em que o Imervue está rodando.
Instale com pip install opencv-python mediapipe. Depois de
instalar, alternar o checkbox deve abrir uma pequena janela de
pré-visualização mostrando os marcos faciais detectados.
O pet não se oculta automaticamente durante apps em tela cheia. O
detector de tela cheia faz polling da janela em primeiro plano a
1 Hz. No Windows ele usa a API Win32 GetWindowRect; no macOS /
Linux não há um equivalente multi-plataforma confiável e ele faz
no-op (o pet permanece visível). Para Windows: certifique-se de que
Hide when other app is fullscreen está marcado e verifique se a
janela em tela cheia realmente cobre ≥ 99 % do mesmo monitor do pet.
A posição do pet flutua para fora da tela entre inicializações. Isso acontece quando a tela em que o pet estava não está mais conectada na próxima inicialização (dock de notebook, segundo monitor desconectado). O pet cai automaticamente para o canto inferior direito da tela primária neste caso — arraste-o para onde você quiser e o próximo salvamento sobrescreverá a posição desatualizada.
Rotação e Inversão
Ação |
Atalho |
Menu |
|---|---|---|
Rotacionar 90 ° horário |
|
Botão direito > Modify > Rotate CW |
Rotacionar 90 ° anti-horário |
|
Botão direito > Modify > Rotate CCW |
Inverter horizontal |
– |
Botão direito > Modify > Flip Horizontal |
Inverter vertical |
– |
Botão direito > Modify > Flip Vertical |
Rotação sem perdas (JPEG) |
– |
Botão direito > Lossless Rotate |
Exportando Imagens
Exportação Única
Clique com o botão direito em uma imagem > Exportar / Salvar Como.
Escolha o formato: PNG, JPEG, WebP, BMP, TIFF
Ajuste a qualidade (para formatos com perdas)
Pré-visualize o tamanho estimado do arquivo
Escolha um local para salvar
Presets de Exportação
Para os alvos comuns de entrega que você não quer reajustar a cada vez, use
Arquivo > Exportar com Preset. Um clique aplica o pipeline correto de
redimensionamento, formato e qualidade:
Preset |
Pipeline |
|---|---|
Web 1600 |
Ajusta o lado maior para 1600 px, JPEG qualidade 85, sRGB; para uploads em blog / fórum onde a qualidade visual importa mais que a contagem de pixels. |
Print 300 dpi |
TIFF em resolução total / JPEG de alta qualidade com metadados de 300 dpi, saída com gerenciamento de cor para laboratórios e gráficas. |
Instagram 1080 |
Recorte quadrado (1080 × 1080) ou retrato (1080 × 1350) com a proporção original preservada por dentro, JPEG qualidade 90. |
Os presets se compõem com a sobreposição de marca d’água (abaixo) — habilite a marca d’água uma vez e cada saída de preset a carrega.
Sobreposição de Marca d’Água
Arquivo > Marca d'Água… abre um configurador de sobreposição não
destrutivo. As configurações se aplicam apenas na exportação — os pixels
originais no disco nunca são tocados.
Modo: texto ou imagem. Marcas d’água em imagem suportam PNG com alfa.
Posição: grade de 9 âncoras (cantos, bordas, centro).
Opacidade: 0 – 100 %.
Escala: porcentagem do lado maior exportado; a marca d’água se redimensiona automaticamente conforme você redimensiona para presets diferentes.
Exportação em Lote
Selecione várias imagens, depois clique com o botão direito > Exportação em Lote.
Conversão uniforme de formato
Definir largura / altura máximas (escala automática de proporção)
Controle de qualidade
Barra de progresso em tempo real
Criar GIF / Vídeo
Selecione várias imagens, depois clique com o botão direito > Criar GIF / Vídeo.
Saída GIF e MP4
Arraste para reordenar quadros
Defina quadros por segundo (FPS)
Dimensões personalizadas
Opção de loop
Reprodução de Animação
Ao abrir arquivos GIF, APNG ou WebP animados, a animação é reproduzida automaticamente.
Tecla |
Ação |
|---|---|
|
Reproduzir / Pausar |
|
Quadro anterior |
|
Próximo quadro |
|
Acelerar |
|
Desacelerar |
Comparação de Imagens
No modo de miniaturas, selecione 2 – 4 imagens, depois clique com o botão direito > Comparar Imagens.
A caixa de diálogo tem quatro abas:
Aba |
Finalidade |
|---|---|
Lado a lado |
Exibir 2 ou 4 imagens simultaneamente; cada uma é redimensionada automaticamente em seu painel. |
Sobreposição |
Misturar duas imagens com um slider de alfa (0 → apenas A, 100 → apenas B). Requer exatamente 2 selecionadas. |
Diferença |
Visualização |
Divisão A | B |
Visualização dividida antes / depois com um divisor vertical arrastável. Arraste o handle para varrer entre as duas imagens; ideal para mostrar ajustes de receita de revelação ou comparar exportações. Requer exatamente 2 selecionadas. |
Quando as duas imagens têm tamanhos diferentes, B é reamostrada para as dimensões de A com Lanczos. Imagens muito grandes
são limitadas a 2048 px no lado maior internamente para que a sobreposição / diferença permaneçam interativas.
See also
Para comparação inline sem abrir uma caixa de diálogo, use Visão Dividida (Shift + S) ou
Leitura em Página Dupla (Shift + D / Ctrl + Shift + D) descritas na seção Navegação.
Slideshow
Pressione S ou clique com o botão direito > Slideshow para iniciar um slideshow automático.
Intervalo ajustável por imagem
Transição opcional de fade entre imagens
Pesquisa
Pressione Ctrl + F ou / e digite uma palavra-chave para pesquisar imagens na pasta atual por nome de arquivo.
A pesquisa usa correspondência aproximada (fuzzy) com um ranqueamento em três níveis (prefixo > substring > subsequência) e
destaque de substring nos resultados. Pressione Enter ou clique duas vezes para saltar para uma imagem.
Para saltar por índice de imagem em vez de nome, pressione Ctrl + G para a caixa de diálogo Ir Para.
Copiar e Colar
Ação |
Método |
|---|---|
Copiar imagem para a área de transferência |
|
Colar imagem da área de transferência |
|
Monitoramento automático da área de transferência |
|
Note
Quando o monitoramento automático está habilitado, toda vez que uma nova imagem aparece na área de transferência (por exemplo, de uma ferramenta de captura de tela), o editor de anotações abre automaticamente.
Excluindo Imagens
Ação |
Método |
|---|---|
Excluir imagem atual |
Pressione |
Excluir imagens selecionadas |
Selecione várias, depois |
As imagens são movidas para a Lixeira do sistema e podem ser recuperadas de lá.
Operações em Lote
No modo de miniaturas, selecione várias imagens e clique com o botão direito:
Recurso |
Descrição |
|---|---|
Renomear em Lote |
Renomear usando templates: |
Mover / Copiar |
Mover ou copiar imagens para outra pasta |
Rotacionar Todas |
Rotacionar todas as imagens selecionadas de uma vez |
Exportação em Lote |
Converter formato e redimensionar em massa |
Adicionar à Tag |
Aplicar a mesma tag a todas as imagens selecionadas |
Adicionar ao Álbum |
Colocar todas as imagens selecionadas em um álbum |
Histograma RGB
Pressione H no modo Deep Zoom para sobrepor um histograma RGB na imagem. Pressione novamente para ocultar.
Definir como Papel de Parede
Clique com o botão direito no modo Deep Zoom > Definir como Papel de Parede para definir a imagem atual como papel de parede da área de trabalho.
Suportado no Windows, macOS e Linux (GNOME).
Múltiplas Janelas
Arquivo > Nova Janela abre outra janela independente do Imervue. Cada janela pode navegar por uma pasta diferente.
Presets de Layout de Espaço de Trabalho
Arquivo > Espaços de Trabalho… captura a geometria atual da janela, o
arranjo de docks / barras de ferramentas, tamanhos de splitter e pasta raiz
ativa sob um nome — depois permite alternar entre layouts salvos da mesma forma
que outros gerenciadores de fotos com suporte a XMP alternam Library /
Develop / Export ou o Adobe Bridge alterna Metadata / Filmstrip. A
caixa de diálogo suporta Salvar Atual, Carregar, Renomear e Excluir. Espaços
de trabalho persistem em user_settings.json (sob a chave workspaces)
e sobrevivem entre sessões.
Tip
Construa um espaço de trabalho Browse com a árvore e a grade de miniaturas visíveis, e um espaço Develop separado com o painel de revelação maximizado e a árvore colapsada. Um clique move sua janela inteira para a forma certa para cada tarefa.
Gestos de Touchpad
Gesto |
Ação |
|---|---|
Pinça |
Zoom in / out no Deep Zoom (ancorado no centro da pinça) |
Deslize horizontal |
Imagem anterior / próxima |
Associação de Arquivos (Windows)
Registrar o Imervue como visualizador de imagens no Windows Explorer:
Arquivo>Associação de Arquivos>Registrar 'Open with Imervue'São necessários privilégios de administrador.
Após o registro, clique com o botão direito em qualquer imagem no Explorer para ver a opção
Open with Imervue.
Para remover: Arquivo > Associação de Arquivos > Remover associação de arquivos.
Sistema de Plugins
O Imervue suporta plugins para funcionalidade estendida.
Ação |
Localização no Menu |
|---|---|
Ver plugins instalados |
|
Baixar novos plugins |
|
Abrir pasta de plugins |
|
Recarregar plugins |
|
Idioma
Mude o idioma da interface a partir do menu Idioma:
Inglês (English)
Chinês Tradicional (繁體中文)
Chinês Simplificado (简体中文)
Coreano (한국어)
Japonês (日本語)
É necessária uma reinicialização após a mudança.
Referência de Atalhos de Teclado
Edição
Tecla |
Ação |
|---|---|
|
Abrir aba Modify |
|
Rotacionar no sentido horário |
|
Rotacionar no sentido anti-horário |
|
Desfazer |
|
Refazer |
|
Excluir imagem |
Organização
Tecla |
Ação |
|---|---|
|
Alternar favorito |
|
Avaliar (pressione novamente para limpar) |
|
Rótulo de cor: vermelho / amarelo / verde / azul / roxo (pressione a mesma tecla para limpar) |
|
Cull: Pick (marcar para manter) |
|
Cull: Reject |
|
Cull: Unflag |
|
Alternar marcador |
|
Gerenciador de Tags e Álbuns |
Ferramentas e Sobreposições
Tecla |
Ação |
|---|---|
|
Pesquisa fuzzy com destaque de substring |
|
Copiar imagem para a área de transferência |
|
Colar da área de transferência |
|
Histograma RGB |
|
Sobreposição OSD de informações / HUD de Debug (VRAM, cache, threads) |
|
Visualização de pixel (≥ 400 % mostra grade de pixels e valor RGB sob o cursor) |
|
Alternar modos de cor (Normal / Tons de Cinza / Inverter / Sépia) |
|
Slideshow |
Animação
Tecla |
Ação |
|---|---|
|
Reproduzir / Pausar |
|
Quadro anterior |
|
Próximo quadro |
|
Desacelerar |
|
Acelerar |
Gerenciamento de Biblioteca e Metadados
O Imervue mantém um índice baseado em SQLite em %LOCALAPPDATA%/Imervue/library.db
(Windows) ou ~/.cache/imervue/library.db (POSIX) para pesquisa entre pastas,
tags hierárquicas, álbuns inteligentes, hashes perceptuais, notas e flags de cull.
Tudo abaixo fica em Extra Tools salvo indicação contrária. Na última versão,
o menu está organizado em oito submenus agrupados por função —
Batch, Library & Metadata, Views, Workflow, Export,
Develop (Non-Destructive), Retouch & Transform e Multi-Image —
então cada caminho abaixo é mostrado como Extra Tools > <submenu> > <tool>.
Pesquisa de Biblioteca
Extra Tools > Library & Metadata > Library Search permite adicionar uma ou mais pastas raiz
a um índice global que é varrido em uma thread em segundo plano. Uma vez que uma raiz é
indexada você pode consultá-la por extensão, largura/altura mínima, faixa de tamanho ou
substring de nome e jogar os resultados no visualizador como um álbum virtual.
Álbuns Inteligentes
Extra Tools > Library & Metadata > Smart Albums persiste regras de filtro (extensões, dimensões
mínimas, rótulos de cor, avaliação, favoritos, estado de cull, tags hierárquicas,
substring de nome) sob um nome amigável. Reaplicar um álbum filtra a pasta ativa
pelas regras salvas.
Pesquisa de Imagens Similares
Extra Tools > Library & Metadata > Find Similar Images executa um pHash DCT de 64 bits na
imagem atual em deep-zoom (ou na primeira miniatura selecionada) e lista correspondências
próximas do índice ordenadas pela distância de Hamming. Ajuste o spin Max distance
para alargar ou apertar a rede.
Pesquisa Semântica (CLIP)
Extra Tools > Semantic Search permite digitar uma frase em linguagem natural
(por exemplo “golden retriever na neve” ou “rua de neon à noite”) e
retorna imagens classificadas da biblioteca indexada. Cada imagem é incorporada com um
encoder visão/linguagem CLIP e armazenada junto com seu caminho; uma consulta de texto é
incorporada no mesmo espaço vetorial e comparada por similaridade de cosseno.
Os embeddings são armazenados em cache em %LOCALAPPDATA%/Imervue/clip_cache.npz (Windows)
ou ~/.cache/imervue/clip_cache.npz (POSIX) como um único arquivo .npz compacto
para que a próxima inicialização pule a reincorporação. Apenas os caminhos que você varreu são
consultáveis — use Scan Folder… dentro da caixa de diálogo para estender o índice.
Note
A Pesquisa Semântica requer os pacotes opcionais open_clip_torch e torch.
Se não estiverem instalados, a entrada do menu explica o que está faltando
e outros recursos continuam funcionando.
Auto-Tag
Extra Tools > Library & Metadata > Auto-Tag Images aplica tags heurísticas sob
auto/... (photo / document / screenshot / landscape /
portrait). Se onnxruntime e um modelo CLIP em
models/clip_vit_b32.onnx estiverem disponíveis, também adiciona rótulos
de conteúdo baseados em CLIP. Executa em uma thread de trabalho com uma barra
de progresso em tempo real.
Renomeação em Lote por Tokens
Extra Tools > Batch > Token Batch Rename abre uma tabela com pré-visualização ao vivo onde você
digita um template como {date:yyyymmdd}_{camera}_{counter:04}{ext} e vê
exatamente em que cada arquivo será renomeado. Conflitos são destacados para que
nada seja sobrescrito. Tokens suportados: {name} {ext} {counter[:NN]}
{date[:fmt]} {width} {height} {wxh} {size_kb} {camera} {year} {month} {day}
{hour} {minute}.
Exportação de Metadados
Extra Tools > Library & Metadata > Export Metadata (CSV / JSON) escreve uma linha por imagem na
visualização atual cobrindo EXIF, dimensões, rótulo de cor, avaliação, favorito,
tags hierárquicas, estado de cull e notas. Útil para alimentar decisões de cull
em uma planilha ou fluxo de trabalho externo.
Sidecar XMP (Interoperação com outros gerenciadores de fotos com suporte a XMP)
O Imervue pode ler e gravar arquivos sidecar XMP da Adobe (photo.jpg ↔
photo.xmp) para que avaliações, títulos, descrições, palavras-chave e
rótulos de cor façam round-trip de forma limpa com outros gerenciadores de fotos
com suporte a XMP, Bridge e outras ferramentas com suporte a XMP.
Importar XMP da imagem atual — extrai avaliação / título / palavras-chave / rótulo de cor do sidecar para o banco de dados interno.
Exportar XMP da imagem atual — grava a avaliação / título / palavras-chave / rótulo de cor atual em um sidecar ao lado da imagem.
Importar / exportar em lote — aplica a mesma operação à seleção ativa ou à pasta inteira.
O parser de XML usa defusedxml para que sidecars malformados ou maliciosos
não possam disparar ataques XXE / billion-laughs. Se defusedxml não estiver
instalado, as entradas de menu XMP ficam ocultas e nenhum sidecar é gravado.
A barra lateral EXIF também expõe uma tira de avaliação por estrelas clicável — a avaliação que ela define é a que a exportação XMP gravará.
Culling (Pick / Reject)
Flag de cull de três estados baseado em sinalização. Pressione P para escolher
a imagem atual ou cada miniatura selecionada, Shift + X para rejeitar, U para
desmarcar. Filtrar > Por Estado de Cull mostra apenas escolhidas, rejeitadas
ou não marcadas. Extra Tools > Culling aplica o filtro via uma caixa de diálogo
e também expõe um botão Excluir todas as rejeitadas que remove permanentemente os
arquivos marcados do disco.
Bandeja de Staging
Extra Tools > Workflow > Staging Tray é uma cesta entre pastas. Adicione qualquer conjunto
de miniaturas à bandeja (a lista sobrevive entre reinicializações), depois mova ou copie a bandeja
inteira para uma pasta de destino com um clique. Útil para reunir escolhidas de
várias sessões antes da exportação.
Gerenciador de Arquivos de Painel Duplo
Extra Tools > Workflow > Dual-Pane File Manager abre uma visualização
com dois painéis e duas árvores. Escolha uma pasta em cada painel e mova/copie
a seleção entre eles sem sair do Imervue.
Visualização de Linha do Tempo
Extra Tools > Views > Timeline View agrupa o conjunto atual de imagens por dia,
mês ou ano (agrupado por data). A data é tirada do EXIF
DateTimeOriginal quando presente, caso contrário do tempo de modificação do arquivo.
Clique duas vezes em qualquer imagem para abri-la em Deep Zoom.
Arrastar para Apps Externos
Pressione e arraste de uma miniatura selecionada para soltar o arquivo no Explorer, Chrome, Discord ou qualquer app que aceite URLs de arquivo. A pré-visualização do arrasto é a miniatura.
Notas por Imagem
A barra lateral EXIF inclui uma caixa Notas de texto livre. A digitação salva automaticamente no índice da biblioteca após um pequeno debounce. As notas viajam com o caminho da imagem, então sobrevivem a re-varreduras de pasta.
Revelação Avançada e Composição
Curva de Tons
Extra Tools > Develop (Non-Destructive) > Tone Curve abre um editor de curvas com pontos arrastáveis e
quatro canais (RGB, R, G, B). Clique com o botão esquerdo no canvas vazio para adicionar um ponto;
arraste para mover; clique com o botão direito para excluir. Os pontos são interpolados com um
spline cúbico monotônico e armazenados na receita da imagem, então a curva se aplica
de forma não destrutiva no momento da renderização.
Aplicar LUT .cube
Extra Tools > Develop (Non-Destructive) > Apply .cube LUT permite escolher qualquer arquivo .cube da Adobe
(1D ou 3D, até 64³). A LUT é parseada com um lru_cache chaveado por
caminho + mtime, avaliada com interpolação trilinear, e misturada contra
o original via um slider de intensidade. O caminho da LUT e a intensidade ficam na receita.
Cópias Virtuais
Extra Tools > Workflow > Virtual Copies dá a cada imagem snapshots nomeados de
receitas. Capture a edição atual, continue experimentando e volte para qualquer
variante anterior depois. As variantes ficam ao lado da receita master na loja
de receitas e sobrevivem ao reset do master para a identidade.
Mesclagem HDR
Extra Tools > Multi-Image > HDR Merge combina duas ou mais exposições com bracket
em uma única imagem via a fusão de exposição Mertens do OpenCV. A caixa opcional
“Align exposures” executa cv2.AlignMTB primeiro para compensar trepidação ao
segurar a câmera. A saída é salva em um arquivo escolhido pelo usuário — não toca
nenhuma imagem fonte.
Stitch de Panorama
Extra Tools > Multi-Image > Panorama Stitch envolve a API de alto nível
Stitcher do OpenCV. Escolha o modo Panorama para paisagens / cityscapes ou
o modo Scans para documentos planos e obras de arte. As bordas pretas produzidas pelo
warp podem ser auto-recortadas.
Empilhamento de Foco
Extra Tools > Multi-Image > Focus Stacking funde múltiplos disparos tirados em
diferentes distâncias de foco. Para cada pixel o algoritmo escolhe qualquer
quadro de entrada que tem a maior nitidez local (variância Laplaciana), depois
suaviza a máscara de seleção com uma mistura gaussiana para evitar emendas. O
alinhamento ECC fica ligado por padrão para pequenos offsets ao segurar a câmera.
Pincel de Cura
Extra Tools > Retouch & Transform > Healing Brush mostra a imagem atual em até
720 px no lado maior. Clique com o botão esquerdo para adicionar uma mancha circular;
clique com o botão direito em uma mancha existente para removê-la; o slider de raio
define o tamanho da nova mancha. Ao aplicar, o inpainting do OpenCV (Telea para velocidade,
Navier-Stokes para mistura mais suave) preenche cada região mascarada a partir dos pixels
circundantes e o resultado é salvo em um novo arquivo.
Correção de Lente
Extra Tools > Retouch & Transform > Lens Correction expõe quatro sliders pure-numpy:
distorção radial k1 (barril / pincushion), elevação de vinheta, e
escala radial de aberração cromática por canal para vermelho e azul. A
imagem corrigida é salva como um novo arquivo — a correção de lente não faz parte
da receita porque a forma da saída pode mudar.
Visualização de Mapa
Extra Tools > Views > Map View plota cada imagem geotagueada na biblioteca atual
em um mapa interativo Leaflet + OpenStreetMap (requer
PySide6.QtWebEngineWidgets). Sem WebEngine, a caixa de diálogo recai para
uma lista simples de entradas (path, lat, lon) para que o recurso permaneça
utilizável em instalações mínimas.
Visualização de Calendário
Extra Tools > Views > Calendar View mostra um QCalendarWidget com dias
destacados quando as fotos foram tiradas naquele dia (EXIF DateTimeOriginal →
DateTimeDigitized → mtime do arquivo). Selecionar uma data lista suas imagens;
clique duas vezes para abrir uma no visualizador principal.
Detecção Facial
Extra Tools > Retouch & Transform > Face Detection executa o cascade Haar de detecção
de faces frontais do OpenCV na imagem atual e desenha cada detecção como um retângulo.
Clique duas vezes em uma linha da lista para digitar o nome de uma pessoa; ao salvar, as tags
são gravadas no blob extra['face_tags'] da receita. A detecção é uma técnica clássica —
a precisão é adequada para “mostre-me os rostos” mas não substitui o reconhecimento
moderno baseado em CNN.
Máscaras de Ajuste Local
Extra Tools > Develop (Non-Destructive) > Local Adjustment Masks coloca máscaras de pincel, radial ou
gradiente linear sobre a imagem. Cada máscara carrega sua própria exposição,
brilho, contraste, saturação, temperatura, deltas de matiz mais um slider de
pluma. As máscaras são salvas em recipe.extra['masks'] e aplicadas
de forma não destrutiva no carregamento, então o arquivo subjacente nunca é tocado.
Tonalização Dividida
Extra Tools > Develop (Non-Destructive) > Split Toning aplica matizes distintos a sombras e
realces com saturação por região e um pivô de balanço. Armazenado em
recipe.extra['split_toning'] e aplicado após a curva de tons no pipeline
de revelação.
Carimbo de Clonagem
Extra Tools > Retouch & Transform > Clone Stamp copia um patch fonte com pluma para um
destino — o complemento de borda dura do pincel de cura. Shift+clique
define a fonte, um clique normal carimba, clique com o botão direito desfaz. O resultado é
gravado em um novo arquivo para que o original permaneça intacto.
Recorte / Endireitar
Extra Tools > Retouch & Transform > Crop / Straighten combina um retângulo de recorte
normalizado (0..1) com um ângulo de endireitamento arbitrário. A saída é
auto-recortada para o maior retângulo interno para que fotos rotacionadas não tenham
cantos pretos.
Endireitamento Automático
Extra Tools > Retouch & Transform > Auto-Straighten detecta o horizonte ou linhas verticais
dominantes via detecção de linhas de Hough e propõe uma rotação. Um
clique aplica o endireitamento; você pode ajustar o ângulo primeiro se a
auto-detecção escolher a referência errada.
Redução de Ruído / Nitidez
Extra Tools > Retouch & Transform > Noise Reduction / Sharpening aplica uma redução
de ruído bilateral (preservando bordas) seguida de um sharpen unsharp-mask.
“Apenas luminância” mantém o ruído de cor intacto mas achata a granulação sem
borrar bordas de chroma.
Céu / Fundo
Extra Tools > Retouch & Transform > Sky / Background substitui o céu detectado por um
gradiente ou remove o fundo para transparente / branco. Quando
rembg (U²-Net) está instalado, a máscara de primeiro plano vem da
rede de segmentação; caso contrário, a regra heurística HSV é usada.
Soft Proof
Extra Tools > Develop (Non-Destructive) > Soft Proof carrega um perfil ICC, converte a
imagem através dele e de volta, e destaca em magenta os pixels que clipparam durante
o round-trip — uma verificação rápida fora-de-gamut antes de imprimir.
Geotag GPS
Extra Tools > Library & Metadata > GPS Geotag lê quaisquer tags GPS EXIF existentes e
permite editar ou definir novas coordenadas em graus decimais. Requer piexif
instalado; grava em JPEG no local.
Layout de Impressão
Extra Tools > Export > Print Layout compõe múltiplas imagens em um
PDF de várias páginas com tamanho de página, orientação, grade, margens,
sarjeta e marcas de corte configuráveis. Requer reportlab.
Uso na Linha de Comando
imervue # Iniciar normalmente
imervue /caminho/para/imagem # Abrir uma imagem específica
imervue /caminho/para/pasta # Abrir uma pasta específica
imervue --debug # Habilitar modo debug
imervue --software_opengl # Usar renderização por software (quando a GPU não é suportada)
Servidor MCP
O Imervue inclui um servidor Model Context Protocol embutido que permite que assistentes de IA chamem os helpers de lógica pura do projeto sem uma GUI rodando. Inicie-o com:
python -m Imervue.mcp_server
O servidor é livre de Qt e carrega apenas o que cada ferramenta precisa no momento da chamada.
Ferramentas Disponíveis
Ferramenta |
Finalidade |
|---|---|
|
Lista arquivos de imagem em uma pasta (caminho, tamanho, mtime). Passe
|
|
Dimensões, formato, tags EXIF e campos de sidecar XMP para uma imagem. Dados ausentes são reportados como o valor vazio apropriado em vez de gerar exceção. |
|
Caminho rápido que lê apenas o sidecar XMP — avaliação, rótulo de cor, palavras-chave, título, descrição. |
|
Converte uma imagem para outro formato. O formato de destino é
inferido pelo sufixo de destino ( |
|
Constrói um rig |
|
Abre um arquivo |
Todas as ferramentas retornam payloads serializados em JSON dentro do envelope
content / text do MCP; payloads estruturados podem ser parseados de
volta a partir do campo text no lado do cliente.
Claude Code (Nível de Projeto)
O repositório inclui um .mcp.json em nível de projeto na raiz do repositório:
{
"mcpServers": {
"imervue": {
"type": "stdio",
"command": "python",
"args": ["-m", "Imervue.mcp_server"]
}
}
}
Abrir qualquer subdiretório do repositório no Claude Code descobre automaticamente este servidor. O Claude Code pergunta antes de habilitar servidores de projeto na primeira vez — aceite o prompt para usá-lo.
Claude Desktop
Adicione a mesma entrada à sua configuração do Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Use um diretório de trabalho absoluto ou ative um virtualenv no qual o
Imervue esteja instalado; a invocação python deve resolver para um
interpretador capaz de import Imervue.
Superfície do Protocolo
O servidor implementa o transporte JSON-RPC 2.0 via stdio do MCP
versão 2025-03-26:
initialize— handshake; anunciacapabilities.tools.tools/list— enumera as ferramentas registradas com suas definições de entrada JSON-Schema.tools/call— invoca uma ferramenta com{"name", "arguments"}; os resultados voltam dentro do arraycontent.notifications/*— aceitas silenciosamente (sem resposta).
A implementação está em Imervue/mcp_server/:
server.py— loop de protocolo + registro de ferramentas.tools.py— funções handler e as definições de ferramenta padrão.__main__.py— ponto de entradapython -m Imervue.mcp_server.
Ferramentas customizadas podem ser registradas construindo MCPServer
manualmente, chamando MCPServer.register() e alimentando mensagens
através de MCPServer.handle_message() (ou conduzindo o loop stdio
com o helper run() embutido).