Edges

Edges finds the outlines in an image by running a 3×3 convolution kernel across it, so what survives is where brightness changes rather than how bright the picture is. Four modes: Sobel runs two kernels — one measuring change across the image, one measuring change down it — and combines them into a single strength per pixel, while outline, Laplacian and emboss are each a single kernel whose nine weights are shown beside the preview. You choose the two colours the response is drawn between, or keep the colours the kernels produced.

How it works

  1. Add your images Drop one file or a batch onto the page, or click browse. They are decoded in the tab and nothing is sent anywhere.
  2. Choose a mode Sobel is the default. Emboss, outline and Laplacian each run one kernel, and the nine weights currently in use are drawn out under the settings — Sobel shows both of its.
  3. Set the threshold Anything responding more weakly than this is dropped, which is how grain and sensor noise go first. It starts at 24 out of 255; lower it if the result comes out blank.
  4. Pick the colours Monochrome draws the response between a paper colour, where nothing happened, and an ink colour, where the response is strongest. Keep colour instead keeps what the kernels produced channel by channel — and with Sobel, which answers in one channel, dims the original pixel by the edge strength.
  5. Apply and download Keep each file in the format it arrived in or switch to PNG, WebP or JPEG, then download one file or the batch as a ZIP.

Questions

Why does the downloaded file show finer detail than the preview?
The preview composes from a source scaled to 1100 pixels on its long edge, and edge detection depends on scale: a 3×3 kernel reads a pixel's immediate neighbours, which cover far more of the picture in a shrunken copy. The export runs the same kernel at full resolution, so it picks up detail the preview cannot show.
What is the difference between Sobel and the other three modes?
Sobel measures how fast brightness changes and in which direction, using two kernels at right angles whose results are combined into one magnitude per pixel. Emboss, outline and Laplacian are each a single 3×3 kernel applied to the colour channels directly — outline weighs the centre pixel against all eight neighbours, Laplacian uses only the four orthogonal ones for thinner lines, and emboss sits at mid-grey where nothing happened so one side of every edge is raised and the other sunk.
What happens at the edge of the image itself?
The edge pixel is repeated. A kernel that needs a neighbour off the side of the picture reads the nearest real pixel instead, and nothing wraps around to the opposite edge — wrapping would draw a border that is not in the photograph, which is the worst way for an outline finder to be wrong.

Every tool