Skip to content

Latest commit

 

History

History
342 lines (201 loc) · 10.2 KB

BinaryImageData.md

File metadata and controls

342 lines (201 loc) · 10.2 KB

BinaryImageData

Com a classe BinaryImageData, cada pixel é repesentado por um bit, ou seja, preto e braco.

Índice

Métodos básicos

Bitwise

Morfologia

Constructor

Seguindo o padrão do ImageData, o BinaryImageData pode ser inciado dos seguintes modos

new BinaryImageData(width, height)

new BinaryImageData(dataArray, width)
new BinaryImageData(dataArray, width, height)

Sendo width e height do tipo Number, e dataArray do tipo Uint8Array.

Propriedades de instâcia

Propriedade Tipo Descrição
width Number Um valor inteiro indicando a quantidade de colunas da imagem.
height Number Um valor inteiro indicando a quantidade de linhas da imagem.
data Uint8Array Os valores de cada um dos pixeis da imagem. Observe que cada bit representa um pixel, ou seja, a cada byte há 8 pixeis.

Note

data é um Uint8Array pois em aguns cálculos (como deslocamento a esquerda) podem fazer o valor ultrapassar o limite 255 e alterar todos os pixeis desse byte.

Métodos estáticos

From

Inicia BinaryImageData a partir de um ImageData ou GrayImageData.

Argumento Tipo Descrição
input ImageData Imagem original
options Object Opções para iniciar o GrayImageData

Métodos de instâcia

and

Realiza a operação binária AND entre duas imagens binárias.

Argumento Tipo Descrição
input BinaryImageData Segunda imagem para relaizar a operação. Ambas imagens devem possuir as mesmas dimensões.

Retorno

Uma nova BinaryImageData com as mesmas dimenões.


boundary

Extrai o contorno dos obejtos em uma imagem.

Retorno

Uma nova BinaryImageData com as mesmas dimenões.


clone

Cria uma nova instância de BinaryImageData com as mesmas dimenões e valores.

Retorno

Uma nova BinaryImageData.


close

O Fechamento é uma operação de morfologia, da qual realiza a dilatação seguida de erosão.

Pode ser utilizada para preencher pequenos buracos e conectar regiões próximas, fechando espaços dentro de objetos e suavizando contornos.

Argumento Tipo Descrição
matrix Matrix Uma matriz que define a estrutura da operação (Quadrado, Cruz, Círculo)

Retorno

O retorno é uma nova instâcia (BinaryImageData).


countNonZero

Realiza a contagem de pixeis brancos.

Retorno

Retorna um Number.


dilate

A dilatação é uma operação em morfologia, da qual expande regiões claras, tornando os objetos maiores.

Argumento Tipo Descrição
matrix Matrix Uma matriz que define a estrutura da ooperação (Quadrado, Cruz, Círculo)

Retorno

O retorno é uma nova instâcia BinaryImageData.


equals

Compara duas BinaryImageData

Retorno

Retorna um Boolean.


erode

A erosão é uma operação em morfologia, da qual reduz as regiões claras, tornando os objetos menores.

Argumento Tipo Descrição
matrix Matrix Uma matriz que define a estrutura da operação (Quadrado, Cruz, Círculo)

Retorno

O retorno é uma nova instâcia (BinaryImageData).


fillHoles

Preenche os buracos presentes na imagem.

Antes Depois

Retorno

Uma nova BinaryImageData com as mesmas dimenões.


flood

Preenche toda uma região de pixeis vizinhos a partir de um ponto x, y.

Argumento Tipo Descrição
x Number Posição x do pixel inicial.
y Number Posição y do pixel inicial.

Retorno

Uma nova BinaryImageData com as mesmas dimenões.


get

Obtem o valor de um pixel na posição x, y.

Argumento Tipo Descrição
x Number Posição x do pixel
y Number Posição y do pixel

Retorno

Retorna um Number (0 ou 1).


getImageData

Como BinaryImageData possui somente um canal, é necessário converter em ImageData para ser renderizado.

Retorno

O retorno é um ImageData.


hitOrMiss

O HitOrMiss é uma operação em morfologia, da qual reduz as regiões claras, tornando os objetos menores.

Antes Depois
Argumento Tipo Descrição
matrix Matrix Uma matriz que define a estrutura da operação (Quadrado, Cruz, Círculo)

Retorno

O retorno é uma nova instâcia (BinaryImageData).


not

Realiza a operação binária NOT entre duas imagens binárias.

Retorno

Uma nova BinaryImageData com as mesmas dimenões.


open

A abertura é uma operação de morfologia, da qual realiza a erosão seguida de dilatação.

Pode ser utilizada usada para remover ruídos e suavizar contornos sem afetar significativamente o tamanho dos objetos principais.

Argumento Tipo Descrição
matrix Matrix Uma matriz que define a estrutura da operação (Quadrado, Cruz, Círculo)

Retorno

O retorno é uma nova instâcia (BinaryImageData).


or

Realiza a operação binária OR entre duas imagens binárias.

Argumento Tipo Descrição
input BinaryImageData Segunda imagem para relaizar a operação. Ambas imagens devem possuir as mesmas dimensões.

Retorno

Uma nova BinaryImageData com as mesmas dimenões.


set

Define o valor de um pixel na posição x, y.

Argumento Tipo Descrição
x Number Posição x do pixel.
y Number Posição y do pixel.
v Number Valor do pixel. Sendo 0 ou 1.

Retorno

Retorna a instância BinaryImageData.


thinning

O Thinning é uma técnica que reduz a espessura dos objetos, representando somente as linhas centrais.

Antes Depois
Argumento Tipo Descrição
matrix Matrix Uma matriz que define a estrutura da operação (Quadrado, Cruz, Círculo)

Retorno

O retorno é uma nova instâcia (BinaryImageData).


toString

É possivel transformar a imagem em texto, de forma que os caracteres imitem um gradiente de tons de cinza.

Retorno

O retorno é uma String.


xor

Realiza a operação binária XOR entre duas imagens binárias.

Argumento Tipo Descrição
input BinaryImageData Segunda imagem para relaizar a operação. Ambas imagens devem possuir as mesmas dimensões.

Retorno

Uma nova BinaryImageData com as mesmas dimenões.