Biblioteca JavaScript de código aberto para processamento de imagens
JavaScript API para aplicar diferentes efeitos a imagens usando diferentes tipos de filtros, como gaussiano, escala de cinza, passa-alta, invertido, laplaciano, espelho, RGB, Roberts, saturação e muito mais.
Lena.js é uma biblioteca de processamento de imagens muito simples e leve que permite que desenvolvedores de software trabalhem com diferentes tipos de imagens de dentro de seus aplicativos JavaScript. É uma biblioteca JavaScript pura que pode funcionar no Node e no navegador sem dependências externas. A biblioteca é de código aberto e está disponível sob a licença do MIT. A biblioteca não é muito boa com imagens pesadas dentro do navegador, mas é muito eficiente para a manipulação de imagens pequenas.
Lena.js é muito fácil de usar e pode aplicar diferentes efeitos às imagens. Os filtros de imagem permitem que aplicativos de software apliquem efeitos diferentes em imagens com apenas um clique. A biblioteca inclui suporte para vários filtros de imagem importantes, alguns importantes são gaussian, grayscale, highpass, invert, laplacian, mirror, noise, Prewitt, RGB, Roberts, saturação, sépia, sharpen e muitos mais. A biblioteca também oferece suporte à aplicação de vários filtros a uma imagem. Os filtros são armazenados na mesma variável global LenaJS e podem ser acessados através de seu id usando a notação de chave ou ponto.
Introdução ao LenaJs
A maneira recomendada de instalar LenaJs via NPM. Por favor, use o seguinte comando para instalá-lo.
Instale o Lena.Js via NPM
npm install lena.js --save
Aplicar filtros na imagem via JavaScript
A biblioteca de código aberto Lena.js forneceu um conjunto de filtros úteis que podem ser usados para aplicar diferentes tipos de efeitos a imagens dentro de aplicativos JavaScript. Primeiro, forneça o endereço correto da imagem e selecione o filtro na lista de filtros disponíveis. Você pode usar os métodos filterImage e redrawCanvas para aplicar facilmente um filtro à imagem selecionada. Uma imagem e uma tela serão usadas para aplicar o filtro.
Adicionar Filtro de ruído via JavaScript
const noise = function (pixels, amount = 0) {
const level = amount * 255 * 0.1
let random;
for (let i = 0; i < pixels.data.length; i += 4) {
random = (0.5 - Math.random()) * level;
pixels.data[i] += random;
pixels.data[i + 1] += random;
pixels.data[i + 2] += random;
}
return pixels
}
export default noise
Aplicando vários filtros em imagens
A biblioteca Lena.js permite que desenvolvedores de software apliquem vários filtros em suas imagens dentro de seus próprios aplicativos JavaScript. Normalmente, um único filtro é aplicado a uma imagem pelo método filterImage. Para aplicar vários filtros a uma imagem, você precisa usar o método redrawCanvas em vez de filterImage. Você precisa passar uma imagem já renderizada com um filtro como primeiro argumento e precisa passar um novo filtro como segundo argumento que será anexado à imagem com facilidade.
Processamento de imagens via API JavaScript
A biblioteca LenaJs oferece aos programadores de software a capacidade de adicionar programaticamente um filtro em imagens dentro do JavaScript. Aplicar filtros com LenaJs é bem simples, a API oferece duas maneiras de adicionar filtros; filterImage() e redesenhoCanvas(). Você precisa fornecer uma imagem e uma tela ao método para aplicar o filtro. Para obter o filtro, você pode usar o método LenaJs['filername'] e aplicá-lo à imagem usando o método filterImage().
Aplicar filtro de contraste em imagens
const contrast = function (pixels, amount) {
const level = Math.pow((amount + 100) / 100, 2)
let data = pixels.data
let r
let g
let b
for (let i = 0; i < data.length; i += 4) {
r = data[i]
g = data[i + 1]
b = data[i + 2]
r = r / 255
r -= 0.5
r *= level
r += 0.5
r *= 255
g = g / 255
g -= 0.5
g *= level
g += 0.5
g *= 255
b = b / 255
b -= 0.5
b *= level
b += 0.5
b *= 255
r = r < 0 ? 0 : r > 255 ? 255 : r
g = g < 0 ? 0 : g > 255 ? 255 : g
b = b < 0 ? 0 : b > 255 ? 255 : b
data[i] = r
data[i + 1] = g
data[i + 2] = b
}
return pixels
}
export default contrast