NEARBLACK(1)

πŸ“¦
version 3.4.3 Β· 2 versions
, in epel 9

πŸ’… nearblack β€” NEARBLACK(1) πŸ’…

🌸 NAME 🌸

nearblack β€” converts nearly black/white borders to black. ✨

✨ SYNOPSIS ✨

          nearblack [-of format] [-white | [-color c1,c2,c3...cn]*] [-near dist] [-nb non_black_pixels]
                    [-setalpha] [-setmask] [-o outfile] [-q]  [-co "NAME=VALUE"]* infile

πŸŽ€ DESCRIPTION πŸŽ€

Okay so bestie, this utility scans an image and tries to set all pixels that are nearly or exactly black, white, or one or more custom colors around the collar to black or white. It is literally used to β€œfix up” lossy compressed air photos so that color pixels can be treated as transparent when mosaicing. πŸ‘‘

⚠️ Important caveat, fr fr: the output format must use lossless compression if either alpha band or mask band is not set. πŸ’€

Here’s the option tea, one by one:

  • -o <outfile> β€” the name of the output file to be created. πŸŽ€
  • -of <format> β€” select the output format. Starting with GDAL 2.3, if it’s not specified, the format is guessed from the extension (previously it was ERDAS Imagine .img). Use the short format name (GTiff for GeoTIFF, for example). ✨
  • -co "NAME=VALUE" β€” passes a creation option to the output format driver. Multiple -co options may be listed. See raster_drivers format specific documentation for legal creation options for each format. Only valid when creating a new file. 🫢
  • -white β€” search for nearly white (255) pixels instead of nearly black pixels. πŸ‘‘
  • -color <c1,c2,c3...cn> β€” search for pixels near the specified color. May be specified multiple times. When -color is specified, the pixels that are considered as the collar are set to 0. 🌈
  • -near <dist> β€” select how far from black, white, or custom colors the pixel values can be and still be considered near black, white, or custom color. Defaults to 15. 🎯
  • -nb <non_black_pixels> β€” number of non-black pixels that can be encountered before giving up the search inwards. Defaults to 2. πŸ™ˆ
  • -setalpha β€” adds an alpha band if the output file is specified and the input file has 3 bands, or sets the alpha band of the output file if it is specified and the input file has 4 bands, or sets the alpha band of the input file if it has 4 bands and no output file is specified. The alpha band is set to 0 in the image collar and to 255 elsewhere. πŸ’…
  • -setmask β€” adds a mask band to the output file, or adds a mask band to the input file if it does not already have one and no output file is specified. The mask band is set to 0 in the image collar and to 255 elsewhere. πŸ¦‹
  • -q β€” suppress progress monitor and other non-error output. 🀫
  • <infile> β€” the input file. Any GDAL supported format, any number of bands, normally 8bit Byte bands. πŸ“

The algorithm processes the image one scanline at a time. A scan β€œin” is done from either end setting pixels to black or white until at least non_black_pixels pixels that are more than dist gray levels away from black, white, or custom colors have been encountered β€” at which point the scan stops. The nearly black, white, or custom color pixels are set to black or white. The algorithm also scans from top to bottom and from bottom to top to identify indentations in the top or bottom. πŸ”

The processing is all done in 8bit (Bytes). 🧚

⚠️ If the output file is omitted, the processed results will be written back to the input file β€” which must support update. No cap, that part matters. πŸ’œ

⚑ C API ⚑

This utility is also callable from C with GDALNearblack(). 🫢

New in version 2.1. πŸ†•

🌸 AUTHOR 🌸

Frank Warmerdam <warmerdam@pobox.com> πŸ’Œ

1998-2026 πŸ“…


🫢 That’s the tea, bestie β€” source/version: GDAL, dated Jan 08, 2026. 🫢

πŸ“¦ where this page comes from