Com a classe BinaryImageData, cada pixel é repesentado por um bit, ou seja, preto e braco.
Métodos básicos
Bitwise
Morfologia
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.
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.
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 |
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. |
Uma nova BinaryImageData com as mesmas dimenões.
Extrai o contorno dos obejtos em uma imagem.
Uma nova BinaryImageData com as mesmas dimenões.
Cria uma nova instância de BinaryImageData com as mesmas dimenões e valores.
Uma nova BinaryImageData.
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) |
O retorno é uma nova instâcia (BinaryImageData).
Realiza a contagem de pixeis brancos.
Retorna um Number.
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) |
O retorno é uma nova instâcia BinaryImageData.
Compara duas BinaryImageData
Retorna um Boolean.
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) |
O retorno é uma nova instâcia (BinaryImageData).
Preenche os buracos presentes na imagem.
Antes | Depois |
---|---|
![]() |
![]() |
Uma nova BinaryImageData com as mesmas dimenões.
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. |
Uma nova BinaryImageData com as mesmas dimenões.
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 |
Retorna um Number (0
ou 1
).
Como BinaryImageData possui somente um canal, é necessário converter em ImageData para ser renderizado.
O retorno é um ImageData.
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) |
O retorno é uma nova instâcia (BinaryImageData).
Realiza a operação binária NOT entre duas imagens binárias.
Uma nova BinaryImageData com as mesmas dimenões.
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) |
O retorno é uma nova instâcia (BinaryImageData).
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. |
Uma nova BinaryImageData com as mesmas dimenões.
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 . |
Retorna a instância BinaryImageData.
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) |
O retorno é uma nova instâcia (BinaryImageData).
É possivel transformar a imagem em texto, de forma que os caracteres imitem um gradiente de tons de cinza.
O retorno é uma String.
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. |
Uma nova BinaryImageData com as mesmas dimenões.