Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
OpenVX 1.3 meets Rust
This repo consists of the following parts:
- openvx-sys is the bindgen-generated Rust wrapper around OpenVX,
- openvx contains a Rust-y wrapper around the sys crate.
Test applications:
- canny-edge-detector contains a port of the Canny Edge Detector sample of the OpenVX Samples.
Here's an example input and output of the Canny Edge Detection sample.
VX_TYPE_GRAPH: CANNY_GRAPH, 3 nodes, VX_GRAPH_STATE_COMPLETED, avg perf 0.044175636, 0 parameters, 1 refs
VX_TYPE_NODE: RGB_TO_YUV, 2 params, avg perf 0.002818527, VX_SUCCESS, 1 refs
VX_TYPE_NODE: EXTRACT_LUMA, 3 params, avg perf 0.002013746, VX_SUCCESS, 1 refs
VX_TYPE_NODE: CANNY_EDGE, 5 params, avg perf 0.039333154, VX_SUCCESS, 1 refs
Note that for some reason the graph release operation
vxReleaseGraph;
currently produces the following log messages with the associated status VX_ERROR_INVALID_REFERENCE
:
Failed to remove kernel[0]=org.khronos.extra.edge_trace
Failed to remove kernel[1]=org.khronos.extra.euclidean_nonmaxsuppression_harris
Failed to remove kernel[2]=org.khronos.extras.harris_score
Failed to remove kernel[3]=org.khronos.extras.laplacian3x3
Failed to remove kernel[4]=org.khronos.extras.image_to_list
Failed to remove kernel[5]=org.khronos.extra.nonmaximasuppression
Failed to remove kernel[6]=org.khronos.extra.elementwise_norm
Failed to remove kernel[7]=org.khronos.extras.scharr3x3
Failed to remove kernel[8]=org.khronos.extras.sobelMxN
The OpenVX 1.3 Quick Reference Guide was added here for convenience.
WIP
To install Intel OpenCL on Ubuntu 20.04, run
Test using clinfo
.
Install the Khronos OpenVX Sample Implementation
I built from commit 9caba36
by using
The commit was added as a git submodule at vendor/openvx-sample-impl for convenience.
Building using --conf_nnef
(the Neural Network Exchange Format) didn't work for some
reason, and specifying --opencl
always targeted NEON architecture, so didn't work.
To build the Rust projects, make sure the OpenVX library and headers are in scope: