Visualização Científica – Algoritmos de Visualização usando...
Transcript of Visualização Científica – Algoritmos de Visualização usando...
url: url: http://www.fe.up.pt/http://www.fe.up.pt/~tavares~tavares/ensino/VISCI//ensino/VISCI/visci.htmlvisci.html
Visualização Científica –Algoritmos de Visualização usando o VTK
João Manuel R. S. TavaresJorge Gomes Barbosa
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 2
Sumário1. Bibliografia.2. Criação directa e manual de objectos primitivos (cones,
cilindros, esferas, cubos, grelhas).3. Criação de vários renderers numa janela de visualização e
de várias janelas de visualização.4. Posicionamento de geometrias nos vértices de um dado
objecto.5. Visualização de funções matemáticas.6. Criação de imagens de renderização e de objectos de texto. 7. Leitura e visualização de objectos poligonais definidos em
ficheiros ascii.8. Simplificação (redução) e suavização de malhas poligonais.9. Triangulação de conjuntos de pontos 2D/3D não estruturados.10. Visualização de imagens.11. Aplicação de filtros em imagens.12. Escrita de imagens em diferentes formatos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 3
Bibliografia• The Visualization Toolkit (3rd Edition)
Will Schroeder, Ken Martin, Bill LorensenISBN 1-930934-07-6Kitware, Inc. publishers
• VTK User’s Guide (VTK 4.2)Will Schroeder, Ken MartinISBN 1-930934-08-4Kitware, Inc publishers
http://www.vtk.org/buy-books.phpDisponíveis para compra on-line em:
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 4
Criação directa da geometria• O VTK dispõe de funções para criação de forma
directa da geometria de vários objectos primitivos, por exemplo:– vtkConeSource;– vtkSphereSource;– vtkCylinderSource ...
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 5
1º Exercício• Criação de um cone vermelho com centro em (0, 0,
0), um cilindro verde com centro em (1, 0, 0) e uma esfera azul com centro em (2, 0, 0), com um renderer, uma janela de visualização e interacção.
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 6
1º Exercício
Criação da geometria de um cone.
Definição da cor.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 7
1º ExercícioCriação da geometria de um cilindro e definição do centro.
Criação do actor do cilindro e definição da cor.
Criação da geometria de uma esfera e definição do centro.
Criação do actor da esfera e definição da cor.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 8
1º Exercício
Criação da janela de visualização.
Criação da interacção.
Criação do renderer.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 9
1º Exercício
Apagar objectos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 10
2º Exercício• Criação de um cone vermelho, um cilindro verde e
uma esfera azul, com três renderers (um para cada objecto), uma janela de visualização e interacção.
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 11
2º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 12
2º Exercício
Definição dos renderers, dos backgrounds e das % de cada um na janela, definição da janela e definição da interacção.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 13
2º Exercício
... Definição dos renderers, dos backgrounds e das % de cada um na janela, definição da janela e definição da interacção.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 14
2º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 15
3º Exercício• Criação de um cone vermelho, um cilindro verde e
uma esfera azul, com três renderers (um para cada objecto) e três janelas de visualização (uma para cada renderer) com interacção.
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 16
3º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 17
3º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 18
3º Exercício
Definição das janelas.
Definição das interacções.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 19
3º Exercício
Renderização e início das interacções.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 20
4º Exercício• Criação de um cone azul e de uma esfera castanha,
numa janela de visualização com dois renderers (um para cada objecto), e um cubo tijolo numa janela de visualização independente, as duas janelas devem ter interacção.
Libs necessárias: vtkFiltering.libvtkGraphics.lib vtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 21
4º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 22
4º Exercício
Definição da % de cada renderer na janela 1 e definição dos backgrounds.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 23
4º Exercício
...Definição da % de cada renderer na janela 1 e definição dos backgrounds.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 24
Definição manual da geometria• A geometria de um objecto pode ser definida
manualmente através da especificação dos seus pontos (incluindo as coordenadas de cada ponto) e das suas células (incluindo, para cada célula, o respectivo tipo e os vértices que a constituem).
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 25
5º Exercício• Criação de uma grelha rectangular a partir de um
volume de dimensões 47x33x44 com as coordenadas:
Libs necessárias: vtkCommon.libvtkFiltering.lib vtkGraphics.libvtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 26
5º Exercício
Coordenadas x, y e z de cada ponto.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 27
5º Exercício
Arrays para as coordenadas x, y e z de cada ponto.
Definição do volume.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 28
5º Exercício
Extracção de uma grelha a partir da intercepçãodo volume com um plano.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 29
5º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 30
6º Exercício• Criação manual de um cubo de vértices e células:
Libs necessárias: vtkCommon.libvtkFiltering.lib vtkGraphics.libvtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 31
6º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 32
6º ExercícioCoordenadas x, y de cada vértices.
Vértices de cada célula.
Criação dos vértices, das células e dos escalares.
Criação da geometria do cubo.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 33
6º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 34
Posicionamento de geometrias em vértices
• O VTK disponibiliza filtros para a criação de geometrias especificadas (2D/3D), e posteriormente posicionamento nos vértices de um dado objecto, segundo uma determinada orientação e escala:– vtkGlyph2D;– vtkGlyph3D.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 35
7º Exercício• Criação de uma esfera com cones representados nos
seus vértices, com a direcção das normais e escalados segundo as magnitudes das mesmas.
Libs necessárias: vtkFiltering.libvtkGraphics.lib vtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 36
7º Exercício
Objecto com os vértices de destino.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 37
7º Exercício
Objecto a usar “como marca”.
Criação “das marcas”.
Definição de um actor para “as marcas”.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 38
7º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 39
Visualização de funções• O VTK é adequado para visualizar funções 2D e 3D.
Por exemplo, visualizaçãode uma função quadrática:
VTKRenderer r
VTKQuadric q
VTKSampleFunction f
VTKContourFilter c
VTKPolyDataMapper m
VTKActor a
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 40
8º Exercício• Visualização da equação quadrática:
F(x,y,z) = 0.5*x2 + 1.0*y2 + 0.2*z2 + 0.1*y*z + 0.2*y.Para visualizar a função deverá ser realizada uma amostragem regular pontual (por exemplo, um volume ou um conjunto de pontos estruturados), e posteriormente criados os iso-contornos da quadrática F(x,y,z) = c onde c é uma constante (o valor do iso-contorno).
Libs necessárias: vtkCommon.libvtkFiltering.libvtkImaging.libvtkGraphics.libvtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 41
8º Exercício
Criação da quadrática.
Amostragem da quadrática.
Extracção dos iso-contornos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 42
8º Exercício
Criação de uma caixa exterior que delimita o volume.
Adição dos dois actores (iso-contornos e caixa) ao renderer.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 43
8º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 44
9º Exercício• Representação das funções e das derivadas de
Bessel num plano.
Libs necessárias: vtkCommon.libvtkFiltering.lib vtkGraphics.libvtkRendering.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 45
9º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 46
9º Exercício
Criação de um arrayde quadrados sobre um plano.
Cálculo das funções e das derivadas.
Aplicação da transformação de escalamento aos quadrados.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 47
9º Exercício
... Cálculo das funções e das derivadas.
Deformação dos pontos segundo a normal respectiva.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 48
9º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 49
Imagem do conteúdo de uma janela e objectos texto
• No VTK é possível criar uma imagem com o conteúdo existente numa janela de visualização: classes vtkRendererSource (obtém os dados de um render e converte-os em pontos estruturados) e vtkWindowToImageFilter (obtém os dados de uma vtkWindow e utiliza-os como entrada do pipeline de imagem).
• O VTK também disponibiliza classes para a criação de objectos de texto: vtkTextActor (pode ser usada para colocar texto, definido pela vtkTextPropertyassociada ao objecto, numa janela), vtkTextSource(converte strings em polígonos), vtkVectorText(geração de representações poligonais de alta qualidade para caracteres).
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 50
10º Exercício• Criação de um cone, inserção do cone em dois
renderers distintos contidos numa janela de visualização, rodar 4 vezes 45º em torno do eixo vertical a câmara activa de cada renderer, para cada rotação fazer uma imagem tiff com o conteúdo da janela de visualização.
Libs necessárias: vtkCommon.libvtkFiltering.libvtkGraphics.libvtkRendering.libvtkIo.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 51
10º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 52
10º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 53
10º Exercício
Criação dos 2 renderers e da janela de visualização.
1ª imagem tif.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 54
10º Exercício
2ª imagem tif.
3ª imagem tif.
4ª imagem tif.
Rotação da câmara activa de cada renderer de 1 em 1º.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 55
10º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 56
11º Exercício• Criação de uma janela interactiva com o texto
“Visualizacao Cientifica”.
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.libvtkHybrid.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 57
11º Exercício
Criação do objecto com o texto desejado.
Criação do actor para o texto.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 58
11º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 59
Simplificação, suavização de malhas• O VTK tem filtros para redução do número de
triângulos que constituem malhas triangulares: vtkDecimate, vtkDecimatePro, vtkQuadricDecimation, vtkQuadricClustering.
• Para a suavização de malhas poligonais o VTKdisponibiliza os filtros: vtkSmoothPolyDataFilter(suavização Laplaciana), vtkWindowedSincPolyDataFilter (utiliza um kernel de interpolação para a função windowed sinc).
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 60
12º Exercício• Ler um objecto de malha triangular, representar o
objecto numa janela de visualização interactiva, simplificar (reduzir) o objecto, representar o novo objecto numa outra janela interactiva, escrever o novo objecto num ficheiro vtk, indicar o número de pontos e de células que constituem cada objecto.
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.libvtkIO.lib
Antes Depois da simplificação
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 61
12º Exercício
Leitura do objecto de entrada.
Nº de pontos e células do objecto de entrada.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 62
12º Exercício
Renderer e janela para o objecto de entrada.
Simplificação.
Criação do actor de entrada.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 63
12º Exercício
Criação do actor para o objecto simplificado.
Renderer, janela e interacção para o objecto simplificado.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 64
12º Exercício
Escrita do objecto simplificado.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 65
13º Exercício• Ler um objecto de malha triangular, representar o
objecto numa janela de visualização interactiva, suavizar a malha do objecto, representar o novo objecto numa outra janela interactiva, escrever o novo objecto num ficheiro vtk.
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.libvtkIO.lib
Antes Depois da suavização
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 66
13º Exercício
Leitura do objecto inicial.
Actor para o objecto inicial.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 67
13º Exercício
Suavização do objecto.
Melhorar a malha do objecto suavizado através das normais.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 68
13º Exercício
Escrita do objecto suavizado.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 69
13º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 70
Triangulação 2D/3D de pontos• O VTK inclui filtros para executar a triangulação
2D/3D de Delaunay de um conjunto de pontos não estruturados: vtkDelaunay2D, vtkDelaunay3D.
• Estes filtros podem ser usados para estruturar um conjunto de pontos e construir malhas triangulares para os mesmos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 71
14º Exercício• Executar a triangulação 2D de Delaunay de um
conjunto de 25 pontos gerados aleatoriamente.
Pontos gerados Após a triangulação 2D
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.libvtkCommon.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 72
14º Exercício
Geração aleatória dos 25 pontos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 73
14º Exercício
Criação das células pontuais (só necessário para visualizar os pontos de entrada).
Criação da polydata para os pontos de entrada.
Actor para os pontos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 74
14º Exercício
Triangulação 2D.
Actor para o resultado da triangulação 2D.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 75
14º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 76
15º Exercício• Executar a triangulação 3D de Delaunay de um
conjunto de 25 pontos gerados aleatoriamente, representar os pontos iniciais, a triangulação resultante, e as células da mesma “encolhidas” um determinado valor.
Pontos gerados Após triangulação 3D Células “encolhidas”
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 77
15º Exercício
Libs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.libvtkCommon.lib
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 78
15º Exercício
Geração aleatória dos 25 pontos.
Criação das células pontuais (só necessário para visualizar os pontos de entrada).
Criação da polydata para os pontos de entrada.
Actor para os pontos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 79
15º Exercício
Triangulação 3D.
Actor para o resultado da triangulação 3D.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 80
15º Exercício
“Encolhimento”das células da triangulação 3D.
Actor para as células “encolhidas”.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 81
15º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 82
16º Exercício• Executar a triangulação 2D de Delaunay de um
conjunto de pontos 3D definidos de forma não estruturada num ficheiro ascii. Apresentação dos objectos de entrada e de saída, das coordenadas de cada ponto de entrada e do número de pontos e de células da superfície resultante.
Pontos de entradaPontos de entrada Após triangulação 2D
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 83
16º ExercícioLibs necessárias: vtkFiltering.libvtkGraphics.libvtkRendering.libvtkCommon.lib
Coordenadas de cada ponto de entrada e número de pontos e de células da superfície resultante.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 84
16º Exercício
Abertura do ficheiro de entrada.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 85
16º Exercício
Criação das células pontuais (só necessário para visualizar os pontos de entrada).
Leitura dos pontos definidos no ficheiro.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 86
16º Exercício... Criação das células pontuais.
Criação da polydata para os pontos de entrada.
Actor para os pontos.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 87
16º Exercício
Triangulação 2D.
Escrita do nº de pontos e de células da superfície.
Actor para a superfície resultante.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 88
16º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 89
Objectos imagem• O VTK dispõe de classes para dados imagem e vários
filtros para processamento e análise de imagem.• Para visualizar dados imagens não é necessário
realizar o mapeamento dos mesmos:– os dados são inseridos directamente no actor (por exemplo,
da classe vtkImageActor);– ou então directamente na janela de visualização por
intermédio da classe vtkImageViewer (não é necessário um actor para os dados).
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 90
17º Exercício• Visualização de uma imagem BMP definida num
ficheiro.
Libs necessárias: vtkFiltering.libvtkRendering.libvtkIo.lib
Imagem: camera.bmp
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 91
17º Exercício
Leitura da imagem bmp.
Actor para a imagem.
Renderer e janela para o actor imagem.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 92
17º Exercício... janela para o actor imagem.
Interacção e renderização da janela para a imagem.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 93
18º Exercício• Abrir uma imagem BMP, realizar uma suavização
Gaussiana na imagem de entrada e representar as duas imagens.
Libs necessárias: vtkImaging.libvtkFiltering.libvtkRendering.libvtkIo.lib
Imagem: build.bmp
Imagem de entrada Imagem após suavização
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 94
18º Exercício
Leitura da imagem bmp de entrada.
Actor para a imagem de entrada.
Suavização Gaussiana.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 95
18º Exercício
Actor para a imagem suavizada.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 96
18º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 97
19º Exercício• Ler uma imagem de entrada BMP, aplicar um filtro de
magnitude do gradiente e a seguir realizar uma binarização, representar as imagens de entrada e saída, escrever a imagem resultante no formato JPEG.
Libs necessárias: vtkImaging.libvtkFiltering.libvtkRendering.libvtkIo.lib
Imagem: camera.bmp
Imagem de entrada Imagem obtida
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 98
19º Exercício
Leitura da imagem bmp de entrada.
Processamento da magnitude do gradiente.
Actor para a imagem de entrada.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 99
19º Exercício... Processamento da magnitude do gradiente.
Actor para a imagem de saída.
Binarização da imagem resultante do filtro de magnitude do gradiente.
Escrita da imagem resultante no formato JPEG.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 100
19º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 101
19º Exercício
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 102
20º Exercício• Abrir uma imagem BMP, realizar a negação lógica,
representar as imagens de entrada e de saída, escrever a imagem de saída no formato BMP, utilizar a classe vtkImageViewer para visualizar as imagens (não é necessário um actor para a imagem).
Identificação (pasta e ficheiro) da imagem de entrada e da imagem de saída por dois argumentos da linha
de comando.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 103
20º Exercício
Libs necessárias: vtkImaging.libvtkFiltering.libvtkRendering.libvtkIo.lib
Imagem: visci.bmp
(só funciona para imagens binárias)
Imagem de entrada Imagem obtida
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 104
20º Exercício
Identificação dos argumentos de entrada.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 105
20º Exercício
Leitura da imagem bmp de entrada.Janela para a imagem de entrada.
Interacção.
Negação lógica.
Janela para a imagem de saída.
Interacção.
J. Tavares / J. Barbosa Visualização Científica – Algoritmos de Visualização usando o VTK 106
20º Exercício
Escrita da imagem de saída em BMP.
Renderização e interacção.