<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sem Categoria Archives - Visão Computacional</title>
	<atom:link href="https://visaocomputacional.com.br/category/semcategoria/feed/" rel="self" type="application/rss+xml" />
	<link>https://visaocomputacional.com.br/category/semcategoria/</link>
	<description>Tecnologias, teorias e testes.</description>
	<lastBuildDate>Thu, 28 Aug 2025 18:27:01 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://visaocomputacional.com.br/wp-content/uploads/2021/12/cropped-logo-150x150-1-32x32.png</url>
	<title>Sem Categoria Archives - Visão Computacional</title>
	<link>https://visaocomputacional.com.br/category/semcategoria/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Morfologia Matemática &#8211; Esqueletização de imagem</title>
		<link>https://visaocomputacional.com.br/morfologia-matematica-esqueletizacao-de-imagem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=morfologia-matematica-esqueletizacao-de-imagem</link>
		
		<dc:creator><![CDATA[Piemontez]]></dc:creator>
		<pubDate>Thu, 18 May 2023 16:48:59 +0000</pubDate>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[Dilatação]]></category>
		<category><![CDATA[Dilate]]></category>
		<category><![CDATA[Erode]]></category>
		<category><![CDATA[Erosão]]></category>
		<category><![CDATA[Esqueletização]]></category>
		<category><![CDATA[Morfologia]]></category>
		<guid isPermaLink="false">https://visaocomputacional.com.br/?p=4294</guid>

					<description><![CDATA[<p>Uma abordagem importante, para representação da forma de um objeto, é transformá-la em uma estrutura mais simples, chamada de esqueleto.</p>
<p>The post <a href="https://visaocomputacional.com.br/morfologia-matematica-esqueletizacao-de-imagem/">Morfologia Matemática &#8211; Esqueletização de imagem</a> appeared first on <a href="https://visaocomputacional.com.br">Visão Computacional</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Uma abordagem importante, para representação da forma de um objeto, é transformá-la em uma estrutura mais simples, chamada de esqueleto. O esqueleto de um objeto pode ser obtido por meio de diversas técnicas, como transformada de distância, afinamento de objetos entre outras.</p>



<p class="wp-block-paragraph">Neste artigo, será apresentado como utilizar a morfologia para extração do esqueleto de uma imagem binarizada. Acesse <a href="https://visaocomputacional.com.br/morfologia-matematica-para-processamento-de-imagens/">Morfologia Matemática para Processamento de Imagens</a>, para entender sobre erosão e dilatação, operações que são a base dos cálculos apresentados a seguir.</p>



<h3 class="wp-block-heading">Transformada do eixo-médio</h3>



<p class="wp-block-paragraph">A transformada do eixo-médio, proposto por Blum (1967), determina o conjunto de pontos que estão mais próximos da borda do objeto. De uma maneira formal, o eixo médio de um objeto é composto pelos centros das maiores circunferências que cabem no objeto. A figura 1 ilustra essa definição para um retângulo <a href="#refs">[PS]</a>.</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-11.png" alt="" class="wp-image-4356" width="527" height="243" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-11.png 480w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-11-300x138.png 300w" sizes="(max-width: 527px) 100vw, 527px" /><figcaption>Fig 1- Esqueleto de um retângulo definido a partir da transformada do eixo-médio <a href="#refs">[RSA]</a>.</figcaption></figure></div>



<p class="wp-block-paragraph">Embora a transformada do eixo médio resulte em um esqueleto aceitável. Sua utilização na prática resulta em um problema em termos computacionais. Tal implementação envolve o cálculo da distância entre cada ponto interior e da borda do objeto. Diversos algoritmos foram propostos para tentar melhorar a eficiência desta transformada <a href="#refs">[PS]</a>. </p>



<p class="wp-block-paragraph">Outros exemplos de objetos e seu esqueletos são demonstrados na figura 2. Pode-se observar, nas duas primeiras imagens, que objetos e formas diferentes podem ter o mesmo esqueleto. </p>



<figure class="wp-block-image size-full"><img decoding="async" width="840" height="703" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-8.png" alt="" class="wp-image-4295" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-8.png 840w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-8-300x251.png 300w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-8-768x643.png 768w" sizes="(max-width: 840px) 100vw, 840px" /><figcaption>Fig 2 &#8211; Ilustração de esqueleto de formas geométricas.</figcaption></figure>



<h3 class="wp-block-heading">Transformada de distância</h3>



<p class="wp-block-paragraph">A transformada de distância corresponde ao mapa resultante da distância entre cada ponto interior do objeto e de sua borda mais próxima <a href="#refs">[PS]</a>. Essa transformação depende do tipo de cálculo de distância utilizado.</p>



<p class="wp-block-paragraph">Um exemplo do processo da transformada de distância é ilustrado na figura 3, o esqueleto do objeto, formado pelos valores mais altos de distância, corresponde às regiões mais claras. O cálculo de distância utilizado é a distância euclidiana.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img decoding="async" width="253" height="373" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-12.png" alt="" class="wp-image-4368" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-12.png 253w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-12-203x300.png 203w" sizes="(max-width: 253px) 100vw, 253px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="253" height="373" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-13.png" alt="" class="wp-image-4369" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-13.png 253w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-13-203x300.png 203w" sizes="auto, (max-width: 253px) 100vw, 253px" /><figcaption>Fig 3 &#8211; Transformada de distância. </figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="253" height="373" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-14.png" alt="" class="wp-image-4370" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-14.png 253w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-14-203x300.png 203w" sizes="auto, (max-width: 253px) 100vw, 253px" /></figure>
</div>
</div>



<p class="wp-block-paragraph">Na figura 4, é ilustrada uma imagem binária, sua representação da transformada euclidiana e seu esqueleto criado, a partir dos valores mais altos (pontos claros).</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-15-1024x161.png" alt="" class="wp-image-4373" width="840" height="132" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-15-1024x161.png 1024w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-15-300x47.png 300w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-15-768x121.png 768w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-15.png 1096w" sizes="auto, (max-width: 840px) 100vw, 840px" /><figcaption>Fig 4 &#8211; Ilustração de transformada de distância <a href="#refs">[LQ]</a>.</figcaption></figure>



<h3 class="wp-block-heading">Processo de esqueletização com morfologia matemática</h3>



<p class="wp-block-paragraph">A esqueletização de uma imagem binarizada por morfologia, apresentada a seguir, tem como base a transformada de distância. Todo o processo é bem simples, com apenas duas operações morfológicas e uma subtração, encadeadas em um laço é possível extrair o esqueleto.</p>



<p class="wp-block-paragraph">Observe a imagem binarizada A e o elemento estruturante B, logo abaixo. Nas linhas seguintes, observe que:</p>



<ul class="wp-block-list"><li>A primeira coluna apresenta a erosão por B da imagem da linha anterior;</li><li>A segunda coluna apresenta a dilatação da imagem da primeira coluna por B. A segunda coluna, também, corresponde a abertura da imagem da primeira coluna da linha anterior;</li><li>A terceira coluna apresenta a subtração da primeira coluna da linha anterior pela segunda.</li></ul>



<p class="wp-block-paragraph">Por fim, na última linha, a imagem da terceira coluna de título &#8220;Resultado&#8221; apresentada a soma de todas as imagens da terceira coluna. Observe que essa somatória resultou no esqueleto da imagem retangular A.</p>



<div class="wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image.png" alt="" class="wp-image-4333"/><figcaption><strong>A</strong><br>Imagem binarizada</figcaption></figure>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="82" height="83" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-9.png" alt="" class="wp-image-4348"/><figcaption><strong>B</strong><br>Elemento estruturante</figcaption></figure></div>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow"></div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center wp-block-paragraph"><strong>Erosão por B</strong><br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-1.png" alt="" class="wp-image-4334"/><figcaption><strong>A ⊖ B</strong><br>Erosão de A por B</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center wp-block-paragraph"><strong>Dilatação da 1ª coluna por B</strong><br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-3.png" alt="" class="wp-image-4337"/><figcaption><strong>A ◦ B</strong><br>= (A ⊖ B) ⊕ B<br>Abertura de A por B</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="has-text-align-center wp-block-paragraph"><strong>Subtração da 1ª coluna da linha anterior pela 2ª coluna</strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-4.png" alt="" class="wp-image-4338"/><figcaption><strong>A &#8211; (A ◦ B)</strong><br>A subtraída pela abertura de A por B</figcaption></figure>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-2.png" alt="" class="wp-image-4336"/><figcaption><strong>A ⊖ B ⊖ B</strong><br>Erosão de A por B duas vezes</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="278" height="182" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-16.png" alt="" class="wp-image-4377"/><figcaption><strong>(A ⊖ B) ◦ B</strong><br>= (A ⊖ B) ⊖ B ⊕ B<br>Erosão de A por B, seguida da abertura por B</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-6.png" alt="" class="wp-image-4341"/><figcaption><strong>A &#8211; ((A ⊖ B) ◦ B</strong>)<br>Abertura de A por B <br>subtraída pela Erosão de A por B</figcaption></figure>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-7.png" alt="" class="wp-image-4343"/><figcaption><strong>A ⊖ B ⊖ B ⊖ B</strong><br>Erosão de A por B três vezes</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-7.png" alt="" class="wp-image-4343"/><figcaption><strong>(A ⊖ B ⊖ B) ◦ B</strong><br>Erosão de A por B duas vezes, seguida da abertura por B</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-2.png" alt="" class="wp-image-4336"/><figcaption><strong>A &#8211; ((A ⊖ B ⊖ B) ◦ B)</strong><br>Abertura de A por B <br>subtraída pela Erosão de A por B</figcaption></figure>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="250" height="178" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/image-8.png" alt="" class="wp-image-4345"/><figcaption>Resultado</figcaption></figure>
</div>
</div>



<h3 class="wp-block-heading">Exemplos</h3>



<p class="wp-block-paragraph">A seguir, duas demonstrações de esqueletização, da palavra &#8220;OpenCV&#8221; e de uma imagem da digital de um dedo. O processo de extração do esqueleto da Figura 8 é carregar a imagem, suavizar a imagem com o filtro gaussiano, converter em tons de cinza, limiarizar/binarizar a imagem e extrair o esqueleto.</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/opencv-300x100-1.png" alt="" class="wp-image-4399" width="426" height="142"/><figcaption>Fig 6 &#8211; Texto &#8221; OpenCV&#8221; para extração do esqueleto <a href="#refs">[FA]</a>. </figcaption></figure></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="341" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/skel_opencv-1024x341.png" alt="" class="wp-image-4400" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/05/skel_opencv-1024x341.png 1024w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/skel_opencv-300x100.png 300w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/skel_opencv-768x256.png 768w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/skel_opencv.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption> Fig 7 &#8211; Esqueleto da palavra &#8220;OpenCV&#8221; <a href="#refs">[FA]</a>. </figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="460" src="https://visaocomputacional.com.br/wp-content/uploads/2023/05/digital-1024x460.png" alt="" class="wp-image-4401" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/05/digital-1024x460.png 1024w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/digital-300x135.png 300w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/digital-768x345.png 768w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/digital-1536x691.png 1536w, https://visaocomputacional.com.br/wp-content/uploads/2023/05/digital.png 1706w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Fig 8 &#8211; Extração do esqueleto da impressão digital, utilizando morfologia matemática com a ferramenta <a href="https://opencvflow.org/en">OpenCV-Flow</a>.</figcaption></figure>



<p class="wp-block-paragraph" id="refs"><strong>Referências</strong></p>



<p class="wp-block-paragraph">[PS] Pedrini, H.; Schwartz, W. R.; Análise de Imagens Digitais: Princípios, Algoritmos e Aplicações. Thomson Learning, 2007</p>



<p class="wp-block-paragraph">[LQ] Li, Quannan et al. “Skeleton Extraction Using SSM of the Distance Transform.” (2008).</p>



<p class="wp-block-paragraph">[RSA] R. Fisher, S. Perkins, A. Walker and E. Wolfart. Skeletonization/Medial Axis Transform. <a href="https://homepages.inf.ed.ac.uk/rbf/HIPR2/skeleton.htm">Acessado em 01/05/2023</a></p>



<p class="wp-block-paragraph">[FA] Félix Abecassis &#8211; OpenCV &#8211; Morphological Skeleton. <a href="https://felix.abecassis.me/2011/09/opencv-morphological-skeleton/">Acessado em 02/05/2023</a></p>
<p>The post <a href="https://visaocomputacional.com.br/morfologia-matematica-esqueletizacao-de-imagem/">Morfologia Matemática &#8211; Esqueletização de imagem</a> appeared first on <a href="https://visaocomputacional.com.br">Visão Computacional</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
