AZ Tools

Detecção de Bordas de Imagem (Sobel / Scharr / Prewitt)

Imagem

Detecção de bordas encontra os lugares na imagem onde o brilho muda bruscamente — a silhueta de um objeto contra um fundo, o limite entre luz e sombra, a borda de um edifício contra o céu. Sobel, Scharr e Prewitt são os três kernels de convolução separável 3×3 clássicos que aproximam o gradiente horizontal e vertical do brilho em cada pixel. A magnitude do gradiente √(Gx² + Gy²) é então limiarizada em pixels binários borda / não-borda. Sobel é a escolha do livro com pesos ±1 ±2 ±1; Prewitt usa pesos uniformes ±1 (menos sensível a ruído mas menos preciso em cantos); Scharr usa ±3 ±10 ±3 (o mais isotrópico, melhor para trabalho sub-pixel). Todos os três rodam totalmente no cliente — sua imagem nunca sai da aba. Adicione 0–4 passadas de box blur antes para reduzir ruído em fotos granuladas, escolha um limiar 0–255, troque cores para um look planta / esboço / neon, e baixe o resultado como PNG.

Como usar

  1. Faça upload ou arraste-solte uma imagem (qualquer PNG / JPG / WebP até 1200 px no lado longo).
  2. Escolha um operador — Sobel para uso geral, Scharr para contornos mais limpos, Prewitt para os pesos mais simples.
  3. Deslize o limiar para cima para afinar as bordas, para baixo para incluir gradientes mais sutis.
  4. Adicione passadas de pré-desfoque se a imagem é granulada e produz muito ruído.
  5. Troque as cores de primeiro plano / fundo ou use um preset (Clássico branco-sobre-preto, Planta, Esboço, Neon) e baixe.

Perguntas frequentes

Qual a diferença entre Sobel, Scharr e Prewitt?
Todos os três aproximam o gradiente com kernels 3×3. Prewitt usa pesos uniformes ±1 — mais rápido, mais propenso a ruído. Sobel adiciona ±2 na linha/coluna central — o compromisso clássico entre precisão e ruído. Scharr usa ±3 / ±10 / ±3 — derivado analiticamente para erro angular mínimo, então bordas diagonais são capturadas mais fielmente. Para a maioria das fotos, Sobel e Scharr parecem quase idênticos; Prewitt é visivelmente mais ruidoso em fundos texturizados.
Por que pré-desfocar a imagem?
Detectores de bordas são amplificadores de gradiente — amplificam tanto bordas reais quanto ruído pixel a pixel. Um pequeno desfoque (uma ou duas passadas de filtro de caixa 3×3) suaviza o ruído sem amaciar significativamente bordas reais. É a mesma ideia por trás do detector de bordas Canny, que é só desfoque gaussiano + Sobel + supressão de não-máximos. Para fotos limpas pode deixar desfoque em 0; para varreduras ruidosas ou fotos de pouca luz tente desfoque 2 ou 3.
Minha imagem é enviada para algum lugar?
Não. A imagem é lida no canvas do navegador e processada localmente por JavaScript no seu dispositivo. Nada é enviado a um servidor. Pode soltar imagens sensíveis aqui sem preocupação; vivem só na sua aba até você fechá-la.
Posso detectar bordas de cor em vez de brilho?
Não nesta versão — a entrada é convertida primeiro para luminância em escala de cinza (0.299 R + 0.587 G + 0.114 B) e então o gradiente é calculado sobre a luminância. É de longe a abordagem mais comum porque bordas de cor que coincidem com bordas de luminância produzem o mesmo resultado, e bordas puramente de cor (ex. vermelho puro contra verde puro no mesmo brilho) são visualmente fracas e geralmente não o alvo da detecção de bordas.

Ferramentas relacionadas