<?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>Fronteiras &#8211; Visão Computacional</title>
	<atom:link href="https://visaocomputacional.com.br/tag/fronteiras/feed/" rel="self" type="application/rss+xml" />
	<link>https://visaocomputacional.com.br</link>
	<description>Tecnologias, teorias e testes.</description>
	<lastBuildDate>Thu, 28 Aug 2025 18:27:06 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.1</generator>

<image>
	<url>https://visaocomputacional.com.br/wp-content/uploads/2021/12/cropped-logo-150x150-1-32x32.png</url>
	<title>Fronteiras &#8211; Visão Computacional</title>
	<link>https://visaocomputacional.com.br</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Programando Esqueletização e Extração de Fronteiras Morfológica com Javascript</title>
		<link>https://visaocomputacional.com.br/programando-esqueletizacao-e-extracao-de-fronteiras-morfologica-com-javascript/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programando-esqueletizacao-e-extracao-de-fronteiras-morfologica-com-javascript</link>
		
		<dc:creator><![CDATA[Piemontez]]></dc:creator>
		<pubDate>Mon, 19 Jun 2023 17:50:53 +0000</pubDate>
				<category><![CDATA[Experimentos]]></category>
		<category><![CDATA[Esqueletização]]></category>
		<category><![CDATA[Fronteiras]]></category>
		<category><![CDATA[Morfologia]]></category>
		<guid isPermaLink="false">https://visaocomputacional.com.br/?p=4669</guid>

					<description><![CDATA[<p>Este artigo demonstra como programar a extração de fronteiras internas e externas, e esqueletização de imagens binárias apresentadas em Morfologia Matemática – Esqueletização de imagem e Morfologia Matemática – Extração de Fronteiras / Detecção de Bordas. A programação foi realizada na linguagem javascript, utilizando a biblioteca opencv.js e as imagens produzidas com a IDE OpenCV-Flow.</p>
<p>The post <a rel="nofollow" href="https://visaocomputacional.com.br/programando-esqueletizacao-e-extracao-de-fronteiras-morfologica-com-javascript/">Programando Esqueletização e Extração de Fronteiras Morfológica com Javascript</a> appeared first on <a rel="nofollow" href="https://visaocomputacional.com.br">Visão Computacional</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ratio ratio-16x9"><iframe loading="lazy" title="Programando Extração de Fronteiras Morfológica com Javascript." width="800" height="450" src="https://www.youtube.com/embed/FLfueaozdHo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
</div></figure>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ratio ratio-16x9"><iframe loading="lazy" title="Programando Esqueletização Morfológica com Javascript." width="800" height="450" src="https://www.youtube.com/embed/tMaCqGAM8uI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
</div></figure>



<p>Este artigo demonstra como programar a extração de fronteiras internas e externas, e esqueletização de imagens binárias apresentadas em <a href="https://visaocomputacional.com.br/morfologia-matematica-esqueletizacao-de-imagem/">Morfologia Matemática – Esqueletização de imagem</a> e <a href="https://visaocomputacional.com.br/morfologia-matematica-extracao-de-fronteiras-deteccao-de-bordas/">Morfologia Matemática – Extração de Fronteiras / Detecção de Bordas</a>. A programação foi realizada na linguagem javascript, utilizando a biblioteca&nbsp;<a href="https://docs.opencv.org/4.x/d5/d10/tutorial_js_root.html">opencv.js</a>&nbsp;e as imagens produzidas com a IDE&nbsp;<a href="https://opencvflow.org/pt">OpenCV-Flow</a>.</p>



<h3>OpenCV</h3>



<p>A biblioteca opencv.js disponibiliza diversas funcionalidade prontas para o processamento de imagens e visão computacional. Para utilizá-la, basta incluí-la no script da página&nbsp;conforme descrito em&nbsp;<a href="https://docs.opencv.org/4.x/d0/d84/tutorial_js_usage.html">Using OpenCV.js</a>.</p>



<h2>Extração de Fronteira Interna</h2>



<p>A fronteira interna, como apresentado no outro post citado,&nbsp;é o contorno da imagem binarizada. O cálculo consiste em subtrair da imagem o resultado da erosão da própria imagem, por um elemento estruturante.</p>



<p>A primeira etapa que iremos realizar é criar o núcleo de operação com o formato de quadrado. O elemento estruturante deve ser uma imagem binarizada (preto e branco). Como não temos imagens binárias no OpenCV, criaremos uma imagem em tons de cinza.</p>



<p>Na função nucleoFormatoCruz abaixo, é criada uma matriz de tamanho 3×3, com um canal de cor do tipo uint8, com valores entre 0 e 255:</p>



<pre class="wp-block-preformatted">function nucleoFormatoCruz() {
  return new cv.matFromArray(3, 3, cv.CV_8UC1, [
    0, 1, 0,
    1, 1, 1,
    0, 1, 0
  ]);
}</pre>



<p>Com o núcleo criado, basta realiza a erosão da imagem binarizada e depois subtrair a imagem original pelo resultado desta operação. A função abaixo realiza este processo com a biblioteca OpenCV.js:</p>



<pre class="wp-block-preformatted">function extrairFronteiraInterna(imagem, imagemSaida, nucleo) {
  let imgTemporaria = new cv.Mat(imagem.rows, imagem.cols, imagem.type(), new cv.Scalar(0));

  // Realiza a erosão com biblioteca opencv.
  cv.erode(imagem, imgTemporaria, nucleo);
  
  // Realiza a subtração da imagem pela mesma erodida
  cv.subtract(imagem, imgTemporaria, imagemSaida);
}</pre>



<p>A primeira operação realizada com a função cv.erode, recebe uma imagem de entrada, uma imagem que receberá o resultado da operação de erosão e o núcleo para a operação. </p>



<p>A segunda e última operação realizada é a subtração com a função cv.subtract, que recebe uma imagem de entrada, uma segunda imagem com os valores das subtrações a serem realizadas, e por fim uma imagem de saída que receberá o resultado desta operação.</p>



<p>É possível simplificar esta função conforme abaixo:</p>



<pre class="wp-block-preformatted">function extrairFronteiraInterna(imagem, imagemSaida, nucleo) {
  // Realiza a erosão com biblioteca opencv.
  cv.erode(imagem, imagemSaida, nucleo);
  
  // Realiza a subtração da imagem pela mesma erodida
  cv.subtract(imagem, imagemSaida, imagemSaida);
}</pre>



<p>Note que, foi informada a variável imagemSaida como segundo e terceiro parâmetro, da segunda operação. Foi realizado isto, pois a variável imagemSaida contém o resultado da erosão, que é preciso para subtrair os valores e para não precisarmos criar uma terceira variável, simplificando a função. Não há problemas em utilizar a mesma variável na operação cv.subtract, pois ela é uma operação não convolucional, que realiza apenas operações que utilizam um único pixel de cada vez.</p>



<h2>Extração de Fronteiras Externas</h2>



<p>A fronteira externa, na imagem binarizada, cria uma camada como uma vestimenta que cobre toda a imagem. O cálculo consiste em dilatar a imagem por um elemento estruturante e subtrair pela imagem original. De certa forma, o inverso da operação para extração da fronteira interna.</p>



<p>A primeira etapa para realizar esta operação, também consiste em criar um núcleo para a operação de dilatação. Utilizaremos o mesmo da seção anterior. Com o núcleo criado basta realizar as operações conforme a função abaixo:</p>



<pre class="wp-block-preformatted">function extrairFronteiraExterna(imagem, imagemSaida, nucleo) {
  let imgTemporaria = new cv.Mat(imagem.rows, imagem.cols, imagem.type(), new cv.Scalar(0));

  // Realiza a erosão com biblioteca opencv.
  cv.dilate(imagem, imgTemporaria, nucleo);
  
  // Realiza a subtração da imagem pela mesma erodida
  cv.subtract(imgTemporaria, imagem, imagemSaida);
}</pre>



<p>Observe que para extração da fronteira externa, foi trocada a operação de erosão pela dilatação com a função cv.dilate, e alterada a ordem dos parâmetros durante a subtração com a função cv.subtract.</p>



<h2>Esqueletização de Imagem Binarizada </h2>



<p>Pare realizar a esqueletização com morfologia, conforme apresentado em <a href="https://visaocomputacional.com.br/morfologia-matematica-esqueletizacao-de-imagem/">Morfologia Matemática – Esqueletização de imagem</a>, basta realizar quatro operações, dentro de um laço de repetição, e realizar a inicialização de algumas variáveis para este processamento.</p>



<p>Observe na função abaixo, que nas primeiras linhas, antes do laço while, foram inicializados variáveis para o processamento da esqueletização, criando uma imagem temporária chamada clone, com as mesmas informações da imagem original e um núcleo que é utilizado para reduzir a estrutura da imagem original.</p>



<pre class="wp-block-preformatted">function extrairEsqueleto(imagem, imagemSaida) {
  // Inicializa as matrizes
  const erosao = new cv.Mat(imagem.rows, imagem.cols, src.type());
  const abertura = new cv.Mat(imagem.rows, imagem.cols, src.type());
  const subtracao = new cv.Mat(imagem.rows, imagem.cols, src.type());

  // Clona a imagem original
  let clone = imagem.clone();
  // Cria o núcleo(3x3) em formato de cruz
  const nucleo = cv.getStructuringElement(cv.MORPH_CROSS, new cv.Size(3, 3), new cv.Point(-1, -1));

<strong><strong>  while (cv.countNonZero(clone) !== 0) {
    cv.erode(clone, erosao, nucleo); 
    cv.dilate(erosao, abertura, nucleo);

    cv.subtract(clone, abertura, subtracao);

    cv.bitwise_or(imagemSaida, subtracao, imagemSaida);

    clone = </strong>erosao<strong>.clone();</strong>
    GCStore.add(<strong>clone</strong>);<strong>
  }
</strong></strong>
  // Deleta as variáveis temporárias
  delete erosao;
  delete abertura;
  delete subtracao;
  delete clone;
}</pre>



<p>Após a inicialização das variáveis, é realizado um laço que verifica se a imagem clone está vazia (só com valores zero), caso não esteja, o laço fica realizando as seguintes operações:</p>



<ul id="block-7706de29-1bfa-4502-a250-c1d85e071358"><li>As duas primeiras operações realizadas, dentro do laço, consistem em realizar uma erosão, seguida de uma dilatação.<ul><li>Como resultado é criado uma abertura da imagem, pelo elemento estruturante em formato cruz;</li><li>Esta abertura remove os pontos das extremidades da imagem clone.</li></ul></li><li>A terceiraça operação, realiza a subtração da imagem clone pela imagem de abertura.<ul><li>Como resultado, na matriz subtração, estão apenas os pontos com as extremidades da imagem clone.</li></ul></li><li>Por fim, os pontos da extremidades, são salvos na imagem de saída.</li></ul>



<p>O processo é repetido até que a imagem clone seja zerada, durante o processo de erosão.</p>



<p>Note que, em cada laço realizado, é coletado os pontos da extremidades da imagem clone e salvo na imagem de saída, e em cada laço a imagem é diminuída de tamanho. Este processo resulta na criação do esqueleto da imagem.</p>



<h2>Cuidados</h2>



<p>Caso você vá utilizar a biblioteca opencv, saiba que as funções morfológicas dela também realizam morfologia matemática em imagens em tons de cinza e coloridas, que possuem resultados muito diferentes das operações morfológicas em imagens binarizadas. Lembre-se de converter a imagem em preto e branco, para realizar os experimentos aqui apresentados.</p>



<h2>Considerações</h2>



<p>As funções programadas neste post possuem caráter de estudo, afim de entender as etapas e os processos morfológicos, pois não foram pensadas em questões como desempenho nestes exemplos. Caso você precise utilizar este tipo de operação, é recomendado que utilize uma biblioteca preparada para isso, como o OpenCV ou similar.</p>



<p>O código aqui apresentado esta disponível no link abaixo:</p>



<p>Source code:&nbsp;<a href="https://github.com/visaocomputacionalexemplos/morfologia/blob/main/javascript/base/morfologia.html">https://github.com/visaocomputacionalexemplos/morfologia/blob/main/javascript/base/esqueletizacao.html</a></p>
<p>The post <a rel="nofollow" href="https://visaocomputacional.com.br/programando-esqueletizacao-e-extracao-de-fronteiras-morfologica-com-javascript/">Programando Esqueletização e Extração de Fronteiras Morfológica com Javascript</a> appeared first on <a rel="nofollow" href="https://visaocomputacional.com.br">Visão Computacional</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Morfologia Matemática &#8211; Extração de Fronteiras / Detecção de Bordas</title>
		<link>https://visaocomputacional.com.br/morfologia-matematica-extracao-de-fronteiras-deteccao-de-bordas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=morfologia-matematica-extracao-de-fronteiras-deteccao-de-bordas</link>
		
		<dc:creator><![CDATA[Piemontez]]></dc:creator>
		<pubDate>Wed, 26 Apr 2023 21:56:18 +0000</pubDate>
				<category><![CDATA[Conceitos básicos]]></category>
		<category><![CDATA[Processamento de imagens]]></category>
		<category><![CDATA[Bordas]]></category>
		<category><![CDATA[Dilatação]]></category>
		<category><![CDATA[Dilate]]></category>
		<category><![CDATA[Erode]]></category>
		<category><![CDATA[Erosão]]></category>
		<category><![CDATA[Fronteiras]]></category>
		<guid isPermaLink="false">https://visaocomputacional.com.br/?p=3795</guid>

					<description><![CDATA[<p>A fronteira interna é o contorno da imagem binarizada. O cálculo consiste em subtrair da imagem, o resultado da erosão da própria imagem por um elemento estruturante. </p>
<p>The post <a rel="nofollow" href="https://visaocomputacional.com.br/morfologia-matematica-extracao-de-fronteiras-deteccao-de-bordas/">Morfologia Matemática &#8211; Extração de Fronteiras / Detecção de Bordas</a> appeared first on <a rel="nofollow" href="https://visaocomputacional.com.br">Visão Computacional</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Existem diversas técnicas para detecção ou realce de bordas e extração de fronteiras. Com morfologia matemática binária é possível realizar a extração de fronteiras de forma simples e com baixo custo de processamento. 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>



<p>A extração de fronteiras, com morfologia, consiste em destacar as fronteiras da área de interesse (Roi) de uma imagem. Na Fig.1 é ilustrado o resultado de uma extração interna de fronteira.</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="943" height="558" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image.png" alt="" class="wp-image-4268" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image.png 943w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-300x178.png 300w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-768x454.png 768w" sizes="(max-width: 943px) 100vw, 943px" /><figcaption>Fig 1 &#8211; Resultado da extração de fronteiras utilizando processamento morfológico. [GW] </figcaption></figure>



<p>Basicamente existem dois tipos de extração de fronteiras, as fronteiras internas e as fronteiras externas, sendo uma contraponto da outra. </p>



<h3>Fronteira interna</h3>



<p>Definição: <strong>β(A) = A &#8211;</strong> <strong>(A</strong> <strong><sub><sup>⊖</sup></sub> B) </strong></p>



<p>A fronteira interna é o contorno da imagem binarizada. O cálculo consiste em subtrair da imagem, o resultado da erosão da própria imagem por um elemento estruturante. </p>



<p>Observe nas figuras abaixo, que a partir da imagem A, foi realizada sua erosão pelo elemento estruturante B. Como resultado desta operação, temos apenas os pixels interno da imagem, conforme a imagem da terceira coluna. Com a erosão realizada, basta subtrair da imagem A por esta erosão, resultando apenas os pixels que estão na Imagem A e não estão na sua erosão.</p>



<div class="wp-block-columns">
<div class="wp-block-column" style="flex-basis:100%">
<div class="wp-block-columns">
<div class="wp-block-column">
<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" width="255" height="255" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-2.png" alt="" class="wp-image-4270" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-2.png 255w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-2-150x150.png 150w" sizes="(max-width: 255px) 100vw, 255px" /><figcaption>A<br>Imagem binarizada</figcaption></figure></div>
</div>



<div class="wp-block-column">
<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" width="86" height="85" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-6.png" alt="" class="wp-image-4274"/><figcaption>B<br>Elementro estruturante</figcaption></figure></div>
</div>



<div class="wp-block-column">
<figure class="wp-block-image size-full is-resized"><img loading="lazy" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-1.png" alt="" class="wp-image-4280" width="186" height="182"/><figcaption>A <sub><sup>⊖</sup></sub> B<br>Erosão da imagem A</figcaption></figure>
</div>



<div class="wp-block-column">
<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" width="254" height="254" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-3.png" alt="" class="wp-image-4281" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-3.png 254w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-3-150x150.png 150w" sizes="(max-width: 254px) 100vw, 254px" /><figcaption>A &#8211; (A <sub><sup>⊖</sup></sub> B)<br>Fronteira interna</figcaption></figure></div>
</div>
</div>
</div>
</div>



<h3>Fronteira externa</h3>



<p>Definição: <strong>β(A) = (A <sub><sup>⊕</sup></sub> B) &#8211; A</strong></p>



<p>A fronteira externa, na imagem binarizada, cria uma camada como uma vestimenta que cobre toda a imagem. O cálculo consiste em dilatar a imagem por um elemento estruturante e subtrair pela imagem original.</p>



<p>Observe nas figuras abaixo, que a partir da Imagem A, foi realizada sua dilatação pelo elemento estruturante B. Como resultado desta operação, temos a imagem A mais uma camada externa à ela, conforme imagem da terceira coluna. Com a dilatação realizada, basta subtrair a dilatação pela Imagem A, resultando apenas nos pixels externos, que estão na imagem dilatada e não estão na imagem A.</p>



<div class="wp-block-columns">
<div class="wp-block-column">
<figure class="wp-block-image size-full"><img loading="lazy" width="255" height="255" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-2.png" alt="" class="wp-image-4270" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-2.png 255w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-2-150x150.png 150w" sizes="(max-width: 255px) 100vw, 255px" /><figcaption>A<br>Imagem binarizada</figcaption></figure>
</div>



<div class="wp-block-column">
<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" width="82" height="80" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-4.png" alt="" class="wp-image-4283"/><figcaption>B<br>Elemento extruturante</figcaption></figure></div>
</div>



<div class="wp-block-column">
<figure class="wp-block-image size-full"><img loading="lazy" width="254" height="253" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-7.png" alt="" class="wp-image-4285" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-7.png 254w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-7-150x150.png 150w" sizes="(max-width: 254px) 100vw, 254px" /><figcaption>A <sub><sup>⊕</sup></sub> B<br>Dilatação da imagem A</figcaption></figure>
</div>



<div class="wp-block-column">
<figure class="wp-block-image size-full"><img loading="lazy" width="252" height="252" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-5.png" alt="" class="wp-image-4284" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-5.png 252w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-5-150x150.png 150w" sizes="(max-width: 252px) 100vw, 252px" /><figcaption> (A <sub><sup>⊕</sup></sub> B) &#8211; A<br>Fronteira externa</figcaption></figure>
</div>
</div>



<h3>Outros exemplos</h3>



<p>Na ilustração da Tabela 01 são demonstrados os resultados das extrações de fronteiras, com os elementos estruturantes apresentados anteriormente.</p>



<figure class="wp-block-table aligncenter"><table><tbody><tr><td class="has-text-align-center" data-align="center">Imagem original</td><td class="has-text-align-center" data-align="center">Fronteira interna</td><td class="has-text-align-center" data-align="center">Fronteira externa</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" width="248" height="249" class="wp-image-4316" style="width: 150px;" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-10.png" alt="" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-10.png 248w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-10-150x150.png 150w" sizes="(max-width: 248px) 100vw, 248px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" width="248" height="249" class="wp-image-4318" style="width: 150px;" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-12.png" alt="" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-12.png 248w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-12-150x150.png 150w" sizes="(max-width: 248px) 100vw, 248px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" width="248" height="249" class="wp-image-4319" style="width: 150px;" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-13.png" alt="" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-13.png 248w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-13-150x150.png 150w" sizes="(max-width: 248px) 100vw, 248px" /></td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" width="248" height="249" class="wp-image-4317" style="width: 150px;" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-11.png" alt="" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-11.png 248w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-11-150x150.png 150w" sizes="(max-width: 248px) 100vw, 248px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" width="248" height="249" class="wp-image-4320" style="width: 150px;" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-14.png" alt="" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-14.png 248w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-14-150x150.png 150w" sizes="(max-width: 248px) 100vw, 248px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" width="248" height="249" class="wp-image-4321" style="width: 150px;" src="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-15.png" alt="" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-15.png 248w, https://visaocomputacional.com.br/wp-content/uploads/2023/04/image-15-150x150.png 150w" sizes="(max-width: 248px) 100vw, 248px" /></td></tr></tbody></table><figcaption>Tabela 01 &#8211; Exemplos de extração de fronteiras com morfologia matemática.</figcaption></figure>



<p>A seguir, uma demonstração do resultado da extração de fronteira de uma imagem limiarizada, de um pote sobre uma mesa. O resultado desta operação, foi detectar as bordas da imagem. Esta demonstração foi realizada utilizando a IDE <a href="https://opencvflow.org/">OpenCV-Flow</a>. </p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="508" src="https://visaocomputacional.com.br/wp-content/uploads/2023/01/exemplo_extracao_fronteira-1024x508.png" alt="" class="wp-image-3744" srcset="https://visaocomputacional.com.br/wp-content/uploads/2023/01/exemplo_extracao_fronteira-1024x508.png 1024w, https://visaocomputacional.com.br/wp-content/uploads/2023/01/exemplo_extracao_fronteira-300x149.png 300w, https://visaocomputacional.com.br/wp-content/uploads/2023/01/exemplo_extracao_fronteira-768x381.png 768w, https://visaocomputacional.com.br/wp-content/uploads/2023/01/exemplo_extracao_fronteira.png 1304w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2><strong>Referências:</strong></h2>



<p>[GW] GONZALEZ, R. C., WOODS, R. E. Processamento de Imagens Digitais. Editora Edgard Blucher, ISBN 978-85-8143-586-2, 3 ed., São Paulo, 2010</p>
<p>The post <a rel="nofollow" href="https://visaocomputacional.com.br/morfologia-matematica-extracao-de-fronteiras-deteccao-de-bordas/">Morfologia Matemática &#8211; Extração de Fronteiras / Detecção de Bordas</a> appeared first on <a rel="nofollow" href="https://visaocomputacional.com.br">Visão Computacional</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
