go-images

scikit-image-style image processing in pure Go. No OpenCV, no libvips.

go-images brings the scikit-image vocabulary to Go — blur, edges, morphology, geometry and colour transforms over an RGBA raster — in pure Go, with cgo disabled. Load and save PNG/JPEG, or decode/encode in memory, then run gaussian_blur, sobel, canny, erode/dilate, resize, otsu and more.

Image processing in most languages means binding OpenCV or libvips (both C). go-images is a single portable module that cross-compiles to a static binary, accelerated by go-asmgen SIMD. It beats scikit-image on the separable hot operations (box blur, Sobel). 100% test coverage is the bar, validated against scikit-image.

Why go-images

Image processing in most languages means binding a C library — OpenCV, libvips, ImageMagick. go-images brings the scikit-image vocabulary — filters, edge detectors, morphology, geometry and colour transforms — to Go with no cgo, cross-compiling to a static binary everywhere. The separable hot operations are go-asmgen SIMD-accelerated, so it beats scikit-image on box blur and Sobel. It is the cgo-free image processor the Go and Ruby ecosystems lacked.

Repositories

images

The library. Filters (GaussianBlur/BoxBlur/Median/Sharpen), edges (Sobel/Prewitt/Scharr/Laplacian/Canny), morphology (Erode/Dilate), geometry (Resize/Rotate/Crop/Flip), colour (Grayscale/RGBToHSV/Otsu), and PNG/JPEG load/save + in-memory decode/encode. SIMD kernels on amd64 (SSE2), arm64 (NEON) and s390x (vector).

depth

One picture in, two eyes out. Depth guessed from cues in the picture itself (Cues), softened (Soften), and both eyes synthesised (Views) — for a headset or a 3D display. It takes any depth map, so a real network can be substituted; it is the whole answer where none is available, including in a browser. One pass over the source columns per row, no global sort: 6.3 ms for a 4K frame on sixteen cores, 46.9 ms on a telephone. Checked against a GPU implementation of the same rule, byte for byte.

docs

Versioned documentation site (MkDocs Material): API reference, the roadmap, and honest benchmark pages versus scikit-image. Source →

brand

Logos and icons for the organization, in SVG / PNG / JPG / ICO / ICNS across colour, white and black variants.

Quality bar