-
Notifications
You must be signed in to change notification settings - Fork 0
Projeto MorphLineDetection
Oi caro visitante, aqui você encontrará requisitos, configurações e formas de executar os scripts em Python que implementei para meu projeto de mestrado em Ciência de Computação, no IME-USP.
O meu projeto de mestrado está intitulado como: "Uma abordagem para detecção de ovos de S. mansoni em imagens microscópicas".
- Python versão 2.5 o superior
- Biblioteca MMorph para Python. Para rodar no seu computador precisa:
- solicitar uma licença
- abrir a página /edge-detection-software/morph4python16/register.html
- preencher os campos e submeter o formulário
- você receverá um e-mail com a licença "pymorph_license.txt"
- colar a licença "pymorph_license.txt" na pasta /edge-detection-software/morph4python16/
- Criar as variáveis de ambiente para o uso correto da biblioteca MMorph (PATH para licença e LD_LIBRARY_PATH para localizar as bibliotecas compartilhadas .so)
- export PATH=$PATH:/home/edelgado/Desktop/projeto/edge-detection-software/morph4python16
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/edelgado/Desktop/projeto/edge-detection-software/morph4python16:/home/edelgado/Desktop/projeto/edge-detection-software
Para executar os scripts de processamento de imagens usando uma consola, fazer o seguinte:
1) Processo de afinamento e preservação de zonas escuras na imagem Arquivo: processoTest.py Parâmetros : imPathRead -> pasta onde estão as imagens de entrada (formato TIFF) imPathSave -> pasta onde serão salvas as imagens de saída (formato TIFF) widthWindow -> espessura da janela heightWindow -> largura maior da janela heightInnerWindow -> largura menor da janela
Exemplo: edelgado@fourier:~/Desktop/projeto/edge-detection-software$ python processoTest.py /home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/ /home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/result 100 300 200
2) Processo de filtro de ordem Arquivo: processoFiltroDeOrdem.py Parâmetros : imPathRead -> pasta onde estão as imagens de entrada (formato TIFF) imPathSave -> pasta onde serão salvas as imagens de saída (formato PPM) widthWindowRank -> espessura da janela heightWindowRank -> largura maior da janela pRank -> porcentagem do rank (0 - 100)
Exemplo: edelgado@fourier:~/Desktop/projeto/edge-detection-software$ python processoFiltroDeOrdem.py '/home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/result' '/home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/resultRankFilter' 6 1 10
3) Processo de detecção de bordas Arquivo: processoDeteccaoDeContornos.py Parâmetros : imPathRead -> pasta onde estão as imagens de entrada (formato PPM) imPathSave -> pasta onde serão salvas as imagens de saída (formato PBM) seDisk -> tamanho do elemento estruturante disco ( mmsedisk(value) ) lengthLine -> tamanho da linha usada no processo de erosão threshold -> limiar usado na conversão de imagens cinza a binário area -> área em pixels dos objetos a ser removidos
Exemplo: edelgado@fourier:~/Desktop/projeto/edge-detection-software$ python processoDeteccaoDeContornos.py '/home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/resultRankFilter' '/home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/resultEdgeDetection' 6 70 1 500
4) Processo de elipses Arquivo: processoDeteccaoDeElipses.py Parâmetros : imPathRead -> pasta onde estão as imagens de entrada (formato PBM) imPathSave -> pasta onde serão salvas as imagens de saída (formato PNG) windowSize -> tamanho da janela para analisar o histograma, valor original 50, valor proposto 150 sampleProportionForLocalMax -> porcentagem que é multiplicado pelo tamanho da janela para realizar testes em parâmetros, valor original 0.1, valor proposto 0.1 minLocalMaxValue -> quantidade mínima de pontos acumulados no histograma para considerá-lo um ponto candidato, valor original 4500, valor proposto 150 minEllipseProportion -> proporção mínima de uma elipse tolerável. valor original 0.65, valor proposto 0.3 maxEllipse -> tamanho máximo de uma ellipse na imagem = 2*a, onde 'a' é o eixo maior, valor original diagonal do tamanho da imagem, valor proposto 500 minDist -> diferença mínima tolerável entre o centro da elipse a um candidato a ponto, valor original 0.45, valor proposto 0.95
Exemplo: edelgado@fourier:~/Desktop/projeto/edge-detection-software$ python processoDeteccaoDeElipses.py '/home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/resultEdgeDetection' '/home/edelgado/Desktop/projeto/imagens/regioes40x/copia_ovos/resultHough' 150 0.1 150 0.3 500 0.95
Para maiores detalhes do projeto, pode consultar no site: http://www.vision.ime.usp.br/~edelgado/