O ImageJ é um programa de computador de domínio público, feito em Java destinado a processamento de imagens.[1] Ele foi desenvolvido no National Institutes of Health.[2][3] O ImageJ foi feito para ser um programa de arquitetura aberta que pode ser expandido via Java en:plugins e macros.[4]

Página sugestiva do ImageJ com abas Desenvolvedor Wayne Rasband NIH Página imagej.nih.gov/ij/ }}

ImageJ pode rodar em Microsoft Windows, no classic Mac OS, macOS, Linux, e no Sharp Zaurus PDA, e o código fonte é de livre acesso.[5]

O seu principal desenvolvedor, Wayne Rasband, se aposentou no National Institute of Mental Health em 2010, mas continua contribuindo para o desenvolvimento do software, que por ser de domínio público com o código fonte acessível, permite o desenvolvimento compartilhado por pessoas de todo o mundo.

O ImageJ possibilita a exibição, edição, análise, processamento além da facilidade em salvar e imprimir imagens de 8 bits, 16 bits e 32 bits. Com ele também é possível fazer a leitura de vários formatos de imagem, bem como TIFF, GIF, JPEG, BMP, DICOM, FITS e “crus”. O programa suporta “pilhas” com uma série de imagens que compartilham uma única janela. Como o software trata-se de vários segmentos, operações classificadas como demoradas como a leitura de um arquivo de imagem, pode ser executável em paralelo com outras operações.

Em razão de sua grande adaptabilidade – sendo esta, inclusive, uma das pedras fundamentais de sua elaboração -, encontra-se atualmente na internet diversas variações do ImageJ sendo utilizadas para os mais variados propósitos, adotando características únicas e muito úteis para profissionais e entusiastas do processamento de imagem. Dentre estas, cita-se o ImageJ2 - ou ImageJDev , uma nova versão da arquitetura iniciado em dezembro de 2009 e  focada no trato de dados de imagem multidimensionais, contendo dentre suas funcionalidades o recurso de atualização automática e melhorada capacidade de desenvolvimento -, o Fiji – apenas um pacote de expansão do ImageJ convencional, de uma única vez plugins muito utilizados -, e o AstroImageJ – versão do software contendo plugins e macros específicos para o trato de imagens astronômicas.[6]

História editar

Em 1987, o programador Wayne Rasband da Research Services Branch (RSB), da NIH, lançou um programa de análise de imagem livre, chamado NIH Image, com o objectivo de permitir aos utilizadores desenvolver novos aplicativos, para as diversas áreas de análise de imagem. Este programa foi desenvolvido para o sistema operativo da Mac. Com o aumento do número de utilizadores houve a necessidade de desenvolver o programa para o sistema operativo da Microsoft, sendo este realizado pela empresa Scion Corporation. No entanto, esta adaptação não foi satisfatória, pois continha muitos “bugs” e era paga, não dando a possibilidade da comunidade de utilizadores de a corrigir. O aumento de utilizadores da Microsoft na comunidade científica e o aparecimento da linguagem de programação Java, fizeram com que o Wayne Rasband desenvolve-se um programa idêntico ao NIH Image, mas que pudesse ser utilizado nos diferentes sistemas operativos. A este novo programa o autor chamou de ImageJ, para manter a ligação ao NIH Image, com o “J” a indicar o desenvolvimento em Java.[7] O primeiro lançamento foi em 23 de setembro de 1997, com a versão 0.50 e, neste momento, está na versão 1.51k, lançado no dia 1 de Março de 2017.[8][9]

Principais funcionalidades editar

 
Barra de menus do ImageJ

O ImageJ tem funções normais de um programa de processamento de imagens, desde funções simples como as de manipulação de arquivo, passando por funções mais simples de processamento da imagem, a funções mais elaboradas de medição de parâmetros, filtragens etc. Com ele você pode trabalhar com uma imagem colorida ou em nível de cinza, e usar diversos formatos de imagens como o TIFF, o PNG, o GIF, o JPEG, o formato BMP, DICOM, FITS e muitos outros. O ImageJ permite também que você trabalhe com um sequência, ou pilhas, além de canais de cores.

Outro artifício de especial interesse disponível no software é sua ampla gama de ferramentas voltadas à filtragem e processamento direto de imagens, tornando o procedimento mais simples que o observado através de outros meios.

Dentre as muitas metodologias disponíveis, destaca-se: o filtro de suavização – borra a imagem utilizada ou a seleção ao substituir cada pixel pela média de sua vizinhança -, o filtro de aguçamento – técnica oposta à de suavização, visando destacar elementos presentes na imagem ou seleção -, detecção de bordas, detecção de máximo – encontra o ponto máximo em uma imagem, servindo de ferramenta muito útil em técnicas de clusterização -, tratamento de contraste – atuando sobre o histograma da imagem selecionada, através do alongamento ou equalização -, ruídos – permitindo ao usuário adicionar ou suavizar os mais variados tipos de ruído em uma imagem -, produção de sombras, binarização, entre outros.[10]

Exemplos de funções de processamento de imagens disponíveis no ImageJ:

Histograma editar

O histograma, também conhecido como distribuição de frequências, é a representação gráfica em colunas ou em barras (retângulos) de um conjunto de dados previamente tabulado e dividido em classes uniformes ou não uniformes. No ImageJ ele mostra a frequência com que as cores aparecem na imagem utilizada.Um histograma é um gráfico de frequência com o objetivo de demonstrar como um determinado dado está distribuído em uma amostra, população, experimento, dentre outros elementos de analise, medindo o número de ocorrência desse determinado dados no meio onde é analisado. É utilizado nas mais variadas áreas para de levantar infinitos tipos de dados e com isso servir como auxilio nas tomadas de decisões pelos devidos responsáveis. Exemplos de aplicações muito usuais estão em setores administrativos, que tendem a tomar decisões para ampliar a produção, melhorar rendimento, estimular os colaboradores, no campo da computação é utilizado no processamento de imagens, determinando cores distorções, padrões, geometria, luminosidade etc.

No caso aplicado ao ImageJ o histograma calcula e exibe a distribuição dos níveis de cinza na imagem, seleção, cenas. No eixo horizontal (X; i; abscissa), estão representados os variados níveis de cinzas encontrados na imagem, logo no eixo vertical (Y, j, ordenadas) o número de pixels referente a cada nível de cinza no eixo horizontal. Analisando a imagem do histograma acima (a mesma já está em 8-bits),notamos algumas informações que o mesmo nos oferece, sendo elas, o tamanho da imagem em pixels, a quantidade de pixels (Count), média (Mean) correspondente a distribuição de 0 a 255, desvio padrão (StdDev), o valor mínimo, o valor máximo, a moda e o número de pixels que contem essa moda (Mode) e logo abaixo do gráfico uma escala em degrade da maior concentração de cinza até a menor. Ao clicar no comando List (Lista), nos é apresentada uma tabela com duas colunas e 256 linhas com os determinados níveis de cinza e a quantidade de pixels encontrados com esse valor.  Algumas funções de macro como getHistogram e Plot.getValues podem ser usadas em conjunto para obtenção de valores e dados de contagem ao clicar no botão lista.[11]

Perfil de uma linha editar

Nessa funcionalidade o ImageJ mostra através de um gráfico a cor de cada pixel na linha marcada sobre a imagem utilizada. É possível andar com essa linha na imagem.

Pseudocor editar

O processamento de imagem em pseudocores consiste em atribuir cores a valores de cinza om base em determinados critérios. O termo pseudo ou falsa cor é utilizados para diferenciar o processo de atribuir cores a imagem monocromáticas a partir dos processos associados a imagem de cor verdadeira. A principal utilização das pseudocores é na visualização interpretação humana de eventos, em tons de cinza, em uma imagem ou sequencia de imagens.

Corte editar

Utilizada para retirar um pedaço de uma imagem, seja para se trabalhar somente nele ou para removê-lo da imagem a ser trabalhada. No ImageJ existem várias maneiras de se realizar isso, entre elas estão: a opção Cut, Crop, Clear e Clear Outside.

Inversão de preto e branco editar

Em alguns casos se faz necessária a utilização da ferramenta de inversão de cores, que troca os tons de preto por tons de brancos correspondentes ou vice e versa. Dessa forma, dependendo da imagem a ser trabalhada, podem-se obter mais detalhes ou até mesmo gerar uma facilitação em sua análise com o uso dessa funcionalidade.

Primeiramente, para que seja possível o uso de tal ferramenta no ImageJ é necessário converter a imagem para 8 bits em Image – Type – 8-bit, após feita essa etapa pode-se realizar a inversão em Image – Lookup Tables – Invert LUT.

 
Imagem antes do processo de inversão de preto e branco e após o processo, respectivamente.

Binarização editar

É uma importante ferramenta para o processamento de imagens, e um passo fundamental para o processo de segmentação, ou retirada do objeto em observação do seu fundo.

Operações de imagens binárias editar

Ajuste de contraste e iluminação editar

Torna possível o controle do contraste e da iluminação através da opção Brightness/Contrast, onde é mostrado o histograma da imagem e tem-se as opções de modificar a faixa de cores que se quer trabalhar.

Filtragem espacial editar

em processamento digital de imagem algumas operações são feitas trabalhando com os valores do pixel da vizinhança de um determinado pixel e os correspondentes valores de uma sub imagem tem as mesmas dimensões de sua vizinhança.Tal resultado é chamado de filtro o máscara.

Filtros usados no domínio espacial operam diretamente nos pixels da imagem a notação desta operação é dada por:

g(x.y)=T[f(x.y)],onde f(x,y) corresponde a imagem entrada, e g(x,y) a imagem processada pelo filtro T.

O processo consiste em mover o filtro ponto a ponto da ponto da imagem.Em cada ponto, a resposta do filtro é calculada segundo uma função pre-determinada.

os filtro podem ser divididos em duas classes:

Lineares- que são aqueles que suavizam e realçam detalhes da imagem,e reduzem os ruídos sem alterar o nível de cinza médio da imagem

Filtragem em frequência

Esse tipo de filtro é muito utilizado para a retirada de ruídos em altas ou baixas frequências. Para se trabalhar no domínio da frequência em imagens, normalmente se utiliza a transformada de Fourier. No ImageJ é possível obter a transformada de Fourier através da opção FFT.

Operações de imagens editar

Através da opção Image Calculator é possível realizar diversas operações com duas imagens, como a soma, subtração, multiplicação, divisão, diferenciação, copia, operação lógica AND, OR e XOR, entre outras.

Identificação de bordas editar

Utilizando a opção Find Edges é possível obter as bordas de um objeto em uma imagem. Quando utilizada, as bordas são marcas e tudo que não for considerado borda é retirado da imagem.

Contagem de partículas editar

Através da opção Analyse Particles é possível realizar a contagem de partículas de uma imagem, sendo possível delimitar a área mínima e a circularidade das partículas a serem contadas, também é possível modificar a forma de saída dos resultados.

Medições diversas em objetos editar

Definição de escala editar

Essa funcionalidade permite ao usuário definir mensurar com relativa exatidão o dimensionamento de objetos presentes em determinada imagem partindo da existência de uma escala conhecida predeterminada, de forma a possibilitar a conversão de um comprimento em pixels em metros ou centímetros, por exemplo.

Para tanto, deve-se inicialmente fazer uso da ferramenta de traçar linhas para determinar um traçado que corresponda a uma distância conhecida. Logo após, basta escolher a opção de “Definição de escala”, preencher os campos requisitados com a magnitude da distância conhecida, a unidade métrica e selecionar o “Ok”.[10]

Opções 3D editar

Outros editar

Além de muitas outras contribuições presentes para serem baixadas que são denominadas de plugins e macros.

Plugins editar

 
Barra de Menu do ImageJ com a opção Plugin selecionada. Neste Menu é apresentado todos os Plugins instalados no software no momento de sua utilização.

O ImageJ foi ampliado com milhares de plugins: componentes de software para fins especiais que estendem a funcionalidade básica do ImageJ, como por exemplo, oferecendo comandos adicionais por meio de entradas de menu.[12]

Quase todos os aspectos do ImageJ são plugáveis, o que significa que plugins podem ser fornecidos para executar funções específicas. O ImageJ precisa apenas saber quais operações estão disponíveis, e depois, quando o programa estiver em execução, as opções sobre como concluir uma operação solicitada serão determinadas pelos plugins disponíveis no momento.

Um plugin do ImageJ nada mais é do que uma classe Java com a anotação @Plugin. As classes anotadas dessa maneira são automaticamente encontradas e indexadas no tempo de execução, quando o aplicativo é iniciado por um usuário.[13]

Estes plugins, em geral, são distribuídos pelo ImageJ Updater, uma ferramenta que instala e atualiza os pacotes (macros, plugins, bibliotecas) de forma automática, sendo compatível com domínios de terceiros, o que o torna configurável para qualquer site de atualização. Nos casos em que o Plugin com a aplicação desejada não esteja disponível no ImageJ Updater, é possível realizar o download e instalação do mesmo manualmente através do site oficial do ImageJ, na comunidade de utilizadores, e demais fontes online.

PIV analyser editar

 
Imagem exemplo para aplicar o plugin.
 
Resultado da aplicação do PIV.

Este plugin do ImageJ realiza análise de velocimetria por imagem de partículas iterativa (Particle Image Velocimetry). Basicamente, um par de imagens é dividido em regiões menores (janelas de interrogação). A correlação cruzada entre essas sub-regiões de imagens mede o fluxo óptico (deslocamento ou velocidade dos objetos) dentro do par de imagens. Diminuindo progressivamente o tamanho da janela de interrogação, uma melhor resolução de PIV pode ser alcançada.

Dois métodos de correlação de imagem foram implementados para a medição do fluxo óptico. Pode-se usar o método de correlação cruzada convencional, que compara duas janelas de interrogação com o mesmo tamanho; ou pode-se usar o método de correspondência de modelo com o algoritmo de coeficiente de correlação normalizado, em que a janela de interrogação é comparada com uma janela de pesquisa maior.

 
Equation of the sum of the orginal pixels weighted by the gradient pixels.

O resultado da análise de PIV será exibido como uma plotagem vetorial e salvo em formato tabular de texto simples contendo todo o resultado da análise. Este plugin também fornece uma função de plotagem para visualizar os dados vetoriais com codificação de cores selecionada.

Este plugin foi originalmente desenvolvido para medir o campo de deslocamento da Microscopia de Força de Tração (TFM). Pode ser de alguma forma rudimentar em comparação com outro programa PIV especializado (como JPIV, mpiv, openPIV. ... etc.). No entanto, a implementação como o plugin ImageJ o torna mais disponível para o público em geral e mais fácil de combinar com outras tarefas de processamento de imagem.[14]

RATS (Robust Automatic Threshold Selection) editar

Baseia-se no trabalho de M.H.F. Wilkinson e outros, e estabelece limiares regionalizados para uma imagem em escala de cinza onde as regiões são estabelecidas usando a arquitetura quadtree recursiva. Em cada uma das regiões mais baixas da quadtree, o limite é calculado como a soma dos pixels originais ponderados pelos pixels do gradiente.

O Threshold calculado em cada região é necessário para atender aos critérios mínimos - esses critérios são determinados pelo usuário como uma estimativa de ruído (sigma) e um fator de escala (lambda). O usuário também pode selecionar o tamanho mínimo da região. Os limites para toda a região são então interpolados (bilineares) em toda a imagem. Em geral, os melhores valores para cada um dos três parâmetros são determinados por tentativa e erro para um determinado conjunto de imagens.

 
The center and right images show an example image its edge enhancement with the nested quadtrees for just one quadrant s

A imagem da esquerda mostra a caixa de diálogo na qual o usuário é solicitado.

THRESHOLD DO RUÍDO: Uma estimativa do ruído. Estime o ruído selecionando uma parte de "fundo" da imagem e usando ImageJ para determinar o desvio padrão dos valores de cinza. Estranhamente, valores mais baixos produzem partículas menores em geral. (veja na referência, o padrão é 25).

FATOR DE LAMBDA: Um fator de escala. Valores mais altos produzem partículas maiores. (veja na referência, o padrão é 3).

TAMANHO DE FOLHA DE MIN (pixels): O menor folheto permitido (o padrão é 5 níveis de quadtrees, então o valor padrão é computado em tempo real baseado na largura e altura da imagem de entrada).

VERBOSE: Se configurado, envie as mensagens informativas na janela de registro (o padrão é falso). As imagens do centro e da direita mostram uma imagem de exemplo de seu aprimoramento de borda com as quadtrees aninhadas para apenas um quadrante sobreposto.

Exemplos do uso do ImageJ editar

Binarização editar

Veja alguns passos para realizar este processamento:

Abrindo uma imagem:

Após executar o ImageJ, selecione na barra menu a opção "File" > "Open", carregando em seguida a imagem que deseja segmentar.
 
Abrindo uma imagem RGB.

Transformar a imagem em 8-bit:

Converter a imagem para tons de cinza. Clique em "Image" > "Type" > "8-bit", como mostrado na imagem ao lado. (Imagens de 8 bits são imagens com 256 tons de cinza).
 
Transformando RGB em 8-bit

Usar a função Threshold:

Binarizar a imagem. Para isso, no menu do programa ImageJ, clique em "Image" > "Adjust" > "Threshold", assim uma nova janela irá se abrir. Nela, garanta que a opção B&W (imagem em preto e branco) esteja selecionada.
 
Usando a binarização automática

Ajuste do Threshold:

Na mesma janela que foi aberta pelo programa no passo anterior, utilizando as barras de rolagem, deve-se ajustar os níveis de preto e branco, até que o objeto (presente na imagem) em questão esteja de acordo com sua necessidade.
 
Ajuste manual da binarização

Medições diversas em objetos editar

Introdução:

Um dos objetivos do processamento de imagens digitais é a extração de informações fornecidas por parâmetros que possibilitarão a descrição, interpretação ou entendimento da cena pelo computador. Os recursos do ImageJ para determinar o tamanho de um objeto utilizando a medida relativa a um padrão de referência é muito usado como ferramenta para pesquisa e ensino. Seus recursos de medições, é muito útil para áreas de grande pesquisa, como por exemplo contagem e medição de células cancerígenas que um ser humano com a doença pode apresentar, e com isso pode-se identificar o nível e o estágio em que a doença se encontra. Veja alguns passos usando a técnica de medição do programa.
Execute o ImageJ, e em seguida selecionamos a imagem para fazer as medições com os seguinte comandos: “File”  >  “Open”, e carregamos a imagem desejada.
Na barra de ferramentas do programa, vamos nas seções de botões e selecionamos os seguimentos de reta dentre as opções dos desenhos geométricos, para identificação de um objeto dentro da imagem que sabemos a medidas real para fazer analogia com o objeto que desejamos medir suas dimensões. Para isso, clic e arraste com o mouse no objeto real “na medida desejada “ para poder medir a distância.
Logo após, vá no menu “Analyze” > “Set Scale...” com a janela Set Scale aberta vá no opção “known distance” e digite a distância que foi selecionada no objeto conhecido (ex.: 1 ), logo abaixo vá na opção “Unit of length”, e digite a unidade de medida desejada (ex.: cm) e clic em Ok.
Volte nas opções geométricas, e selecione o círculo, pois a simétrica do objeto desejado a ser medido é circular, e destacamos o objeto que deja-se medir.
Feito isso, vá no menu “Analyze” > “Measure” e você terá a medida do objeto em cm²(nesse caso a área), a média dos valores associadas a intensidade luminosa de todos pixel na seleção (no caso dessa imagem deu 0), e os valores mínimo e máximo dos pixel dentro da seleção (caso a média não de 0).
Caso queira fazer outras medições como Perímetro, centro de massa, centroide entre outras, clic com o botão direito do mouse em “Results” > “Set Measurements” selecione a medida desejada e clic em “Ok”
Vá novamente na barra de menu “Analyze” > “Measure”, e terá as medidas desejadas.

Extração de características editar

Com a ferramenta "Analyse Particles" presente no ImageJ, é possível a extração de características de diferentes objetos apresentados em uma imagem.

Preparação da imagem: Para fazer uso dessa ferramenta é necessário que a imagem esteja segmentada, dessa forma, foi realizado as seguintes etapas: Transformação para 8-bits, Aplicação de filtro gaussiano e aplicação de Threshold. As figuras a seguir mostram os resultados desses processos.

Objetos - Imagem original
Objetos - Imagem em 8-bits
Objetos - Filtro gaussiano aplicado
Objetos - Threshold aplicado

Aplicação da ferramenta: De posse da imagem binarizada, a ferramenta pode ser acessada pelo menu: "Analyze" -> "Analyse Particles". Realizando as seguintes configurações: Size: 1000-infinity; Circularity: 0 - 1; Show: Outlines. Obtém-se os resultados mostrados nas figuras abaixo.

Objetos - Identificação dos contornos
Objetos - Identificação dos Objetos

Informações Obtidas: Após o processo, a ferramenta gera diversas informações a respeito dos objetos encontrados. A figura abaixo mostra tais informações.

 
Objetos - Informações geradas

Através dessa ferramenta, o ImageJ é capaz de distinguir diferentes geometrias, o que pode ser aplicado em sistemas de reconhecimento de formas para separação de objetos, reconhecimento de pessoas ou animais, detecção de falhas ou erros em peças produzidas, entre outras aplicações. Esse método, apesar de não demonstrar perfeitamente o contorno dos objetos das imagens, possui uma alta precisão, o que facilita na comparação com outros objetos e na detecção de objetos de mesma simetria. Outra maneira de se analisar os resultados é através dos valores obtidos nas tabelas apresentadas acima, comparando os valores de área, perímetro, entre outros parâmetros apresentados nesses resultados.

Transformada de Fourier editar

Com o ImageJ também é possível aplicar transformada de Fourier, este filtro tem a principal função de filtrar ruídos em imagens. Ele funciona transformando a imagem do domínio espacial para o domínio da frequência, sendo que a imagem gerada no domínio da frequência pode ser convertida novamente para uma imagem no domínio do espaço através da Transformada Inversa de Fourier. Como indicado a seguir:

 
Indicação de como fazer a Transformada de Fourier no ImageJ
 
Transformada de Fourier e Transformada Inversa

Além de podermos fazer essa transformação do domínio do espaço para o domínio da frequência e do domínio da frequência para o domínio do espaço, podemos ainda aplicar filtros, tais como, passa alta, passa baixa e passa faixa, como demonstrado a seguir:

 
Aqui temos um exemplo de um filtro passa baixa, podemos perceber como que a imagem perde nitidez, tendo uma perda acentuada dos contornos.
 
Podemos ver que uma imagem filtrada por um filtro passa alta mantém as suas bordas, porém perde muita informação, tudo que falta da imagem quando aplicado sobre ela um filtro passa baixas está nessa imagem. Portanto podemos dizer que elas são complementares
 
Quando se aplica um filtro passa faixa, podemos ver que as frequências espaciais caem apenas sobre uma banda superior a um valor e inferior a outro e assim temos uma imagem que apresenta apenas um intervalo de frequências.

Detecção de bordas editar

Ao se fazer análise de imagens, por muitas vezes é de extrema importância a detecção de bordas, já que ela é essencial na identificação da estrutura e das propriedades dos objetos em uma cena, sendo requisito para o uso de diversas ferramentas do processamento de imagens. É caracterizada como as mudanças bruscas em determinados pontos da imagem, localizando-se entre os limites entre duas diferentes regiões em uma figura. Usualmente é o primeiro passo realizado ao se recuperar informações de imagens.

Graças a sua grande importância, o imageJ oferece algumas ferramentas para a detecção de bordas. No exemplo a seguir foi usado uma dessas ferramentas cujo funcionamento baseia-se na utilização de derivadas horizontais e verticais que conseguem detectar mudanças bruscas na intensidade e assim localizar as bordas. Essas derivadas são unidas no final do processo utilizando a raiz da soma de seus quadrados, fazendo com que o lugar onde foram encontradas mudanças expressivas de intensidade fiquem realçadas.

Para o exemplo abaixo, primeiramente, transformou-se a imagem original em 8 bits, seguindo os seguintes comandos: Image->Type->8 bits. Em seguida aplicou-se o filtro de borda, seguindo os passos: Process-> Find edges. Assim obteve-se a seguinte imagem:

Como pode ser observado, o filtro de borda obteve grande sucesso. Isso se deve principalmente a qualidade de iluminação na imagem bem como ao fato das cores estarem bem definidas. No exemplo abaixo será apresentado um caso onde o filtro não obteve um bom resultado. Novamente, repetiu-se os mesmos processos mencionados acima de modo a encontrar as bordas da imagem:

Como pode ser visto, a falta de iluminação adequada comprometeu o pleno funcionamento da ferramenta. Na imagem é possível perceber regiões em que não foram detectadas as bordas ou mesmo lugares onde as bordas apresentaram descontinuidades, comprometendo a utilização de ferramentas posteriores. Portanto, é possível concluir que para o bom funcionamento da ferramenta de detecção, a iluminação é um fator essencial, sendo em alguns casos necessário um pré-processamento da imagem antes da aplicação do procedimento de detecção de bordas.[15][16]

Referências editar

  1. Gonzalez RC, Woods RE (2009). Processamento Digital de Imagens 3 ed. [S.l.]: Pearson   
  2. Schneider CA, Rasband WS, Eliceiri KW (2012). «NIH Image to ImageJ: 25 years of image analysis». Nat Methods. 9 (7): 671–675. PMID 22930834. doi:10.1038/nmeth.2089 
  3. Collins TJ (julho de 2007). «ImageJ for microscopy». BioTechniques. 43 (1 Suppl): 25–30. PMID 17936939. doi:10.2144/000112517   
  4. Girish V, Vijayalakshmi A (2004). «Affordable image analysis using NIH Image/ImageJ». Indian J Cancer. 41 (1): 47. PMID 15105580   
  5. Rueden CT, Eliceiri KW (julho de 2007). «Visualization approaches for multidimensional biological image data». BioTechniques. 43 (1 Suppl): 31, 33–6. PMID 17936940. doi:10.2144/000112511   
  6. «ImageJ» 
  7. Schneider, C., Rasband, W., Eliceiri, K., NIH Image to ImageJ: 25 years of image analysis Nature Methods, vol. 9 (7), July 2012, pp: 671-675
  8. https://imagej.nih.gov/ij/notes.html
  9. http://aprendis.gim.med.up.pt/index.php/ImageJ#cite_note-25anos-4
  10. a b «ImageJ User Guide» 
  11. «ImageJ User Guide» (PDF) 
  12. «Plugins». ImageJ (em inglês) 
  13. «Writing plugins». ImageJ (em inglês) 
  14. «PIV (Particle Image Velocimetry) --- ImageJ plugin - ImageJ plugins by Qingzong TSENG». sites.google.com. Consultado em 19 de maio de 2018 
  15. «ImageJ user guide» (PDF) 
  16. «MachineVision» (PDF) 

Ligações externas editar