clojure2d.extra.segmentation documentation (original) (raw)

Segment image into parts.

Currently contains only quadtree segmentation.

*sequence-generator*

dynamic

Sequence generator used to select pixels for decision about subdivision. Defaults to R2 low-discrepancy sequence.

segment-pixels

(segment-pixels p ch) (segment-pixels p ch {:keys [min-size max-size threshold], :or {min-size 4, max-size 256, threshold 15.0}})

Decompose channel ch from Pixels into square segments using quadtree decomposition.

Returns lazy sequence of vectors containing where is segment position and size is a side length.

For segmentation, sequence generator (dynamic variable *sequence-generator* is used.

Examples

Usage

(count (segment-pixels (p/load-pixels "docs/cockatoo.jpg") 0))
;;=> 705
(nth (segment-pixels (p/load-pixels "docs/cockatoo.jpg")
                     0
                     {:min-size 2, :threshold 40})
     5)
;;=> [40 0 2]