Goal: Achieve OpenVX Vision Conformance Date: April 4, 2026 Strategy: Implement vision kernel algorithms in parallel groups
Functions:
vxColorConvertNode/vxuColorConvert- RGB ↔ RGBX
- RGB ↔ NV12/NV21 (YUV420)
- RGB ↔ YUV4
- RGB ↔ IYUV (I420)
Why First: Most basic operation, used by many other tests Algorithm: Pixel-wise color space conversion using standard matrices
Functions:
vxGaussian3x3Node/vxuGaussian3x3vxGaussian5x5Node/vxuGaussian5x5vxGaussianPyramidNode/vxuGaussianPyramidvxHalfScaleGaussianNode/vxuHalfScaleGaussianvxBox3x3Node/vxuBox3x3vxMedian3x3Node/vxuMedian3x3vxConvolveNode/vxuConvolve(custom convolution)
Algorithm: Separable 1D convolution, Gaussian kernel generation
Functions:
vxSobel3x3Node/vxuSobel3x3vxMagnitudeNode/vxuMagnitudevxPhaseNode/vxuPhasevxCannyEdgeDetectorNode/vxuCannyEdgeDetector
Algorithm: Sobel operators, gradient calculation, non-max suppression, hysteresis
Functions:
vxErode3x3Node/vxuErode3x3vxDilate3x3Node/vxuDilate3x3vxErode5x5Node/vxuErode5x5vxDilate5x5Node/vxuDilate5x5
Algorithm: Min/Max filtering over neighborhood
Functions:
vxAddNode/vxuAddvxSubtractNode/vxuSubtractvxMultiplyNode/vxuMultiplyvxNotNode/vxuNotvxAndNode/vxuAndvxOrNode/vxuOrvxXorNode/vxuXorvxAbsDiffNode/vxuAbsDiffvxWeightedAverageNode/vxuWeightedAverage
Algorithm: Element-wise pixel operations
Functions:
vxScaleImageNode/vxuScaleImage(bilinear interpolation)vxWarpAffineNode/vxuWarpAffinevxWarpPerspectiveNode/vxuWarpPerspectivevxRemapNode/vxuRemap
Algorithm: Bilinear/bicubic interpolation, matrix transforms
Functions:
vxHarrisCornersNode/vxuHarrisCornersvxFastCornersNode/vxuFastCornersvxHoughLinesPNode/vxuHoughLinesP
Algorithm: Corner response calculation, non-max suppression, Hough transform
Functions:
vxOpticalFlowPyrLKNode/vxuOpticalFlowPyrLK
Algorithm: Lucas-Kanade optical flow on image pyramid
Functions:
vxHistogramNode/vxuHistogramvxEqualizeHistNode/vxuEqualizeHistvxMeanStdDevNode/vxuMeanStdDevvxMinMaxLocNode/vxuMinMaxLocvxIntegralImageNode/vxuIntegralImagevxTableLookupNode/vxuTableLookup
Algorithm: Histogram accumulation, equalization LUT, integral image
Functions:
vxLaplacianPyramidNode/vxuLaplacianPyramidvxLaplacianReconstructNode/vxuLaplacianReconstruct
Algorithm: Gaussian pyramid subtraction/addition
Functions:
vxChannelExtractNode/vxuChannelExtractvxChannelCombineNode/vxuChannelCombine
Algorithm: Channel splitting/combining
Parallel Implementation:
- Agent 1: Color Conversion (Group 1)
- Agent 2: Filtering (Group 2)
- Agent 3: Edge Detection (Group 3)
Parallel Implementation:
- Agent 4: Morphology (Group 4)
- Agent 5: Arithmetic (Group 5)
- Agent 6: Geometric (Group 6)
Parallel Implementation:
- Agent 7: Feature Detection (Group 7)
- Agent 8: Optical Flow (Group 8)
- Agent 9: Histogram & Statistics (Group 9)
- Agent 10: Pyramid & Channel (Groups 10-11)
RGB to YUV (BT.601):
Y = 0.299R + 0.587G + 0.114B
U = -0.169R - 0.331G + 0.5B + 128
V = 0.5R - 0.419G - 0.081B + 128
[1 2 1]
[2 4 2] / 16
[1 2 1]
Gx = [-1 0 1] Gy = [-1 -2 -1]
[-2 0 2] [ 0 0 0]
[-1 0 1] [ 1 2 1]
- All vision kernel functions have actual algorithm implementations (not stubs)
- CTS vision tests pass without crashes
- Numerical accuracy within tolerance of reference implementation
- At least 80% of vision feature set tests pass
Vision Kernels: openvx-vision/src/kernels/
Pattern: Each group gets its own module file:
color.rs- Color conversionfilter.rs- Gaussian, box, median filteringedge.rs- Sobel, Cannymorph.rs- Erode, dilatearithmetic.rs- Add, sub, mul, etc.geometric.rs- Scale, warp, remapfeature.rs- Harris, FAST, Houghoptical_flow.rs- Lucas-Kanadehistogram.rs- Histogram, equalizationpyramid.rs- Laplacian pyramidchannel.rs- Channel operations
VXU Functions: openvx-vision/src/vxu/ - Immediate mode wrappers
Plan generated: April 4, 2026