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.





