-
Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathvx_ext_opencv.h
841 lines (769 loc) · 63.6 KB
/
vx_ext_opencv.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
/*
Copyright (c) 2015 - 2024 Advanced Micro Devices, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*!
* \file
* \brief The AMD OpenVX OpenCV Nodes Extension Library.
*
* \defgroup group_opencv Extension: AMD OpenCV Interop API
* \brief AMD OpenVX OpenCV Interop Nodes for OpenCV Functionality within OpenVX Graph.
*/
#include "VX/vx.h"
#include <VX/vx_compatibility.h>
#include "opencv2/opencv.hpp"
#if USE_OPENCV_CONTRIB
#include "opencv2/xfeatures2d.hpp"
#endif
#if USE_OPENCV_4
#define CV_DIST_L1 DIST_L1
#endif
#ifndef dimof
/*! \def dimof(x)
* \brief A macro to get the number of elements in an array.
* \param [in] x The array whose size is to be determined.
* \return The number of elements in the array.
*/
#define dimof(x) (sizeof(x) / sizeof(x[0]))
#endif
#if _WIN32
#define SHARED_PUBLIC __declspec(dllexport)
#else
/*! \def SHARED_PUBLIC
* \brief A macro to specify public visibility for shared library symbols.
*/
#define SHARED_PUBLIC __attribute__((visibility("default")))
#endif
/*! \brief Creates a node in a graph using a predefined kernel structure.
* \param [in] graph The handle to the graph.
* \param [in] kernelenum The enum value representing the kernel to be used.
* \param [in] params An array of parameter references for the kernel.
* \param [in] num The number of parameters in the params array.
* \return A handle to the created node.
*/
vx_node vxCreateNodeByStructure(vx_graph graph, vx_enum kernelenum, vx_reference params[], vx_uint32 num);
#ifdef __cplusplus
extern "C"
{
#endif
/*!***********************************************************************************************************
OpenCV VX_API_ENTRY C Function NODE
*************************************************************************************************************/
/*! \brief [Graph] Creates a OpenCV blur function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> or <tt>\ref VX_DF_IMAGE_U16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] kwidth The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set normalized box filter width.
* \param [in] kheight The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set normalized box filter height.
* \param [in] Anchor_X The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set anchor point x.
* \param [in] Anchor_Y The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set anchor point y.
* \param [in] Bordertype The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set borderType.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_blur(vx_graph graph, vx_image input, vx_image output, vx_uint32 kwidth, vx_uint32 kheight, vx_int32 Anchor_X, vx_int32 Anchor_Y, vx_int32 Bordertype);
/*! \brief [Graph] Creates a OpenCV boxFilter function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> or <tt>\ref VX_DF_IMAGE_U16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] ddepth The input <tt>\ref VX_TYPE_INT32</tt> scalar to set output image depth.
* \param [in] kwidth The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set box filter width.
* \param [in] kheight The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set box filter height.
* \param [in] Anchor_X The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set anchor point x.
* \param [in] Anchor_Y The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set anchor point y.
* \param [in] Normalized The input <tt>\ref VX_TYPE_BOOL</tt> scalar for Normalized argument.
* \param [in] Bordertype The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set borderType.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_boxFilter(vx_graph graph, vx_image input, vx_image output, vx_int32 ddepth, vx_uint32 kwidth, vx_uint32 kheight, vx_int32 Anchor_X, vx_int32 Anchor_Y, vx_bool Normalized, vx_int32 Bordertype);
/*! \brief [Graph] Creates a OpenCV GaussianBlur function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> or <tt>\ref VX_DF_IMAGE_U16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] kwidth The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set gaussian filter width.
* \param [in] kheight The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set gaussian filter height.
* \param [in] sigmaX The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set gaussian filter standard deviation in x-direction.
* \param [in] sigmaY The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set gaussian filter standard deviation in y-direction.
* \param [in] border_mode The input <tt>\ref VX_TYPE_ENUM</tt> scalar to set border mode.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_gaussianBlur(vx_graph graph, vx_image input, vx_image output, vx_uint32 kwidth, vx_uint32 kheight, vx_float32 sigmaX, vx_float32 sigmaY, vx_int32 border_mode);
/*! \brief [Graph] Creates a OpenCV medianBlur function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_U16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] ksize The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set the aperture linear size.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_medianBlur(vx_graph graph, vx_image input, vx_image output, vx_uint32 ksize);
/*! \brief [Graph] Creates a OpenCV filter2D function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] ddepth The input <tt>\ref VX_TYPE_INT32</tt> scalar to set ddepth.
* \param [in] Kernel The input <tt>\ref vx_matrix</tt> scalar to set Kernel.
* \param [in] Anchor_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_X.
* \param [in] Anchor_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_Y.
* \param [in] delta The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set delta.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_filter2D(vx_graph graph, vx_image input, vx_image output, vx_int32 ddepth, vx_matrix Kernel, vx_int32 Anchor_X, vx_int32 Anchor_Y, vx_float32 delta, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV sepFilter2D function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] ddepth The input <tt>\ref VX_TYPE_INT32</tt> scalar to set ddepth.
* \param [in] KernelX The input <tt>\ref vx_matrix</tt> matrix to set KernelX.
* \param [in] KernelY The input <tt>\ref vx_matrix</tt> matrix to set KernelY.
* \param [in] Anchor_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_X.
* \param [in] Anchor_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_Y.
* \param [in] delta The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set delta.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_sepFilter2D(vx_graph graph, vx_image input, vx_image output, vx_int32 ddepth, vx_matrix KernelX, vx_matrix KernelY, vx_int32 Anchor_X, vx_int32 Anchor_Y, vx_float32 delta, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV BilateralFilter function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] d The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set K width.
* \param [in] Sigma_Color The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set sigmaX.
* \param [in] Sigma_Space The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set sigmaY.
* \param [in] border_mode mode The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set border mode.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_bilateralFilter(vx_graph graph, vx_image input, vx_image output, vx_uint32 d, vx_float32 Sigma_Color, vx_float32 Sigma_Space, vx_int32 border_mode);
/*! \brief [Graph] Creates a OpenCV BRISK compute node to detect keypoints and optionally compute descriptors.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [out] output_des The output descriptors <tt>\ref vx_array</tt> of user defined data type with 64/128 byte element size depending upon extended argument (optional).
* \param [in] thresh The input <tt>\ref VX_TYPE_INT32</tt> scalar for thresh argument.
* \param [in] octaves The input <tt>\ref VX_TYPE_INT32</tt> scalar for octaves argument.
* \param [in] patternScale The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for patternScale argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_briskCompute(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_array output_des, vx_int32 thresh, vx_int32 octaves, vx_float32 patternScale);
/*! \brief [Graph] Creates a OpenCV BRISK detector node to detect keypoints and optionally compute descriptors.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] thresh The input <tt>\ref VX_TYPE_INT32</tt> scalar for thresh argument.
* \param [in] octaves The input <tt>\ref VX_TYPE_INT32</tt> scalar for octaves argument.
* \param [in] patternScale The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for patternScale argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_briskDetect(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_int32 thresh, vx_int32 octaves, vx_float32 patternScale);
/*! \brief [Graph] Creates a OpenCV FAST feature detector node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] threshold The input <tt>\ref VX_TYPE_INT32</tt> scalar for threshold argument.
* \param [in] nonmaxSuppression The input <tt>\ref VX_TYPE_BOOL</tt> scalar for nonmaxSuppression argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_fast(vx_graph graph, vx_image input, vx_array output_kp, vx_int32 threshold, vx_bool nonmaxSuppression);
/*! \brief [Graph] Creates a OpenCV GoodFeaturesToTrack detector node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] maxCorners The input <tt>\ref VX_TYPE_INT32</tt> scalar for maxCorners argument.
* \param [in] qualityLevel The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for qualityLevel argument.
* \param [in] minDistance The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for minDistance argument.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [in] blockSize The input <tt>\ref VX_TYPE_INT32</tt> scalar for blockSize argument.
* \param [in] useHarrisDetector The input <tt>\ref VX_TYPE_BOOL</tt> scalar for useHarrisDetector argument.
* \param [in] k The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for k argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_goodFeaturesToTrack(vx_graph graph, vx_image input, vx_array output_kp, vx_int32 maxCorners, vx_float32 qualityLevel, vx_float32 minDistance, vx_image mask, vx_int32 blockSize, vx_bool useHarrisDetector, vx_float32 k);
/*! \brief [Graph] Creates a OpenCV MSER feature detector node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_RGB</tt> format.
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [in] delta The input <tt>\ref VX_TYPE_INT32</tt> scalar for delta argument.
* \param [in] min_area The input <tt>\ref VX_TYPE_INT32</tt> scalar for min_area argument.
* \param [in] max_area The input <tt>\ref VX_TYPE_INT32</tt> scalar for max_area argument.
* \param [in] max_variation The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for max_variation argument.
* \param [in] min_diversity The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for min_diversity argument.
* \param [in] max_evolution The input <tt>\ref VX_TYPE_INT32</tt> scalar for max_evolution argument.
* \param [in] area_threshold The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for area_threshold argument.
* \param [in] min_margin The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for min_margin argument.
* \param [in] edge_blur_size The input <tt>\ref VX_TYPE_INT32</tt> scalar for max_area argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_mserDetect(vx_graph graph, vx_image input, vx_array output_kp, vx_image mask, vx_int32 delta, vx_int32 min_area, vx_int32 max_area, vx_float32 max_variation, vx_float32 min_diversity, vx_int32 max_evolution, vx_float32 area_threshold, vx_float32 min_margin, vx_int32 edge_blur_size);
/*! \brief [Graph] Creates a OpenCV ORB Compute node to detect keypoints and optionally compute descriptors.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [in] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [out] output_des The output descriptors <tt>\ref vx_array</tt> of user defined data type with 64/128 byte element size depending upon extended argument.
* \param [in] nfeatures The input <tt>\ref VX_TYPE_INT32</tt> scalar for nfeatures argument.
* \param [in] scaleFactor The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for scaleFactor argument.
* \param [in] nlevels The input <tt>\ref VX_TYPE_INT32</tt> scalar for nlevels argument.
* \param [in] edgeThreshold The input <tt>\ref VX_TYPE_INT32</tt> scalar for edgeThreshold argument.
* \param [in] firstLevel The input <tt>\ref VX_TYPE_INT32</tt> scalar for firstLevel argument.
* \param [in] WTA_K The input <tt>\ref VX_TYPE_INT32</tt> scalar for WTA_K argument.
* \param [in] scoreType The input <tt>\ref VX_TYPE_INT32</tt> scalar for scoreType argument.
* \param [in] patchSize The input <tt>\ref VX_TYPE_INT32</tt> scalar for patchSize argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_orbCompute(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_array output_des, vx_int32 nfeatures, vx_float32 scaleFactor, vx_int32 nlevels, vx_int32 edgeThreshold, vx_int32 firstLevel, vx_int32 WTA_K, vx_int32 scoreType, vx_int32 patchSize);
/*! \brief [Graph] Creates a OpenCV ORB detector node to detect keypoints and optionally compute descriptors.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] nfeatures The input <tt>\ref VX_TYPE_INT32</tt> scalar for nfeatures argument.
* \param [in] scaleFactor The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for scaleFactor argument.
* \param [in] nlevels The input <tt>\ref VX_TYPE_INT32</tt> scalar for nlevels argument.
* \param [in] edgeThreshold The input <tt>\ref VX_TYPE_INT32</tt> scalar for edgeThreshold argument.
* \param [in] firstLevel The input <tt>\ref VX_TYPE_INT32</tt> scalar for firstLevel argument.
* \param [in] WTA_K The input <tt>\ref VX_TYPE_INT32</tt> scalar for WTA_K argument.
* \param [in] scoreType The input <tt>\ref VX_TYPE_INT32</tt> scalar for scoreType argument.
* \param [in] patchSize The input <tt>\ref VX_TYPE_INT32</tt> scalar for patchSize argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_orbDetect(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_int32 nfeatures, vx_float32 scaleFactor, vx_int32 nlevels, vx_int32 edgeThreshold, vx_int32 firstLevel, vx_int32 WTA_K, vx_int32 scoreType, vx_int32 patchSize);
/*! \brief [Graph] Creates a OpenCV SIFT Compute node to compute descriptor from specified keypoints.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [in] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [out] output_des The output descriptors <tt>\ref vx_array</tt> of user defined data type with 128 byte element size.
* \param [in] nfeatures The input <tt>\ref VX_TYPE_INT32</tt> scalar for nfeatures argument.
* \param [in] nOctaveLayers The input <tt>\ref VX_TYPE_INT32</tt> scalar for nOctaveLayers argument.
* \param [in] contrastThreshold The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for contrastThreshold argument.
* \param [in] edgeThreshold The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for edgeThreshold argument.
* \param [in] sigma The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for sigma argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_siftCompute(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_array output_des, vx_int32 nfeatures, vx_int32 nOctaveLayers, vx_float32 contrastThreshold, vx_float32 edgeThreshold, vx_float32 sigma);
/*! \brief [Graph] Creates a OpenCV SIFT detector node to detect keypoints and optionally compute descriptors.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] nfeatures The input <tt>\ref VX_TYPE_INT32</tt> scalar for nfeatures argument. Set this to capacity of output_kp to retain best keypoints.
* \param [in] nOctaveLayers The input <tt>\ref VX_TYPE_INT32</tt> scalar for nOctaveLayers argument.
* \param [in] contrastThreshold The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for contrastThreshold argument.
* \param [in] edgeThreshold The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for edgeThreshold argument.
* \param [in] sigma The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for sigma argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_siftDetect(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_int32 nfeatures, vx_int32 nOctaveLayers, vx_float32 contrastThreshold, vx_float32 edgeThreshold, vx_float32 sigma);
/*! \brief [Graph] Creates a OpenCV Simple Blob detector node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_RGB</tt> format.
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_simpleBlobDetector(vx_graph graph, vx_image input, vx_array output_kp, vx_image mask);
/*! \brief [Graph] Creates a OpenCV Star feature detector node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_RGB</tt> format.
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [in] maxSize The input <tt>\ref VX_TYPE_INT32</tt> scalar for maxSize argument.
* \param [in] responseThreshold The input <tt>\ref VX_TYPE_INT32</tt> scalar for responseThreshold argument.
* \param [in] lineThresholdProjected The input <tt>\ref VX_TYPE_INT32</tt> scalar for lineThresholdProjected argument.
* \param [in] lineThresholdBinarized The input <tt>\ref VX_TYPE_INT32</tt> scalar for lineThresholdBinarized argument.
* \param [in] suppressNonmaxSize The input <tt>\ref VX_TYPE_INT32</tt> scalar for suppressNonmaxSize argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_starFeatureDetector(vx_graph graph, vx_image input, vx_array output_kp, vx_image mask, vx_int32 maxSize, vx_int32 responseThreshold, vx_int32 lineThresholdProjected, vx_int32 lineThresholdBinarized, vx_int32 suppressNonmaxSize);
/*! \brief [Graph] Creates a OpenCV SURF Compute node to compute descriptor from specified keypoints.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [in] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [out] output_des The output descriptors <tt>\ref vx_array</tt> of user defined data type with 64/128 byte element size depending upon extended argument.
* \param [in] hessianThreshold The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for hessianThreshold argument.
* \param [in] nOctaves The input <tt>\ref VX_TYPE_INT32</tt> scalar for nOctaves argument.
* \param [in] nOctaveLayers The input <tt>\ref VX_TYPE_INT32</tt> scalar for nOctaveLayers argument.
* \param [in] extended The input <tt>\ref VX_TYPE_BOOL</tt> scalar for extended argument.
* \param [in] upright The input <tt>\ref VX_TYPE_BOOL</tt> scalar for upright argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_surfCompute(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_array output_des, vx_float32 hessianThreshold, vx_int32 nOctaves, vx_int32 nOctaveLayers, vx_bool extended, vx_bool upright);
/*! \brief [Graph] Creates a OpenCV SURF detector node to detect keypoints and optionally compute descriptors.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [in] mask The mask image in <tt>\ref VX_DF_IMAGE_U8</tt> format (optional).
* \param [out] output_kp The output keypoints <tt>\ref vx_array</tt> of <tt>\ref VX_TYPE_KEYPOINT</tt>.
* \param [out] output_des The output descriptors <tt>\ref vx_array</tt> of user defined data type with 64/128 byte element size depending upon extended argument (optional).
* \param [in] hessianThreshold The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar for hessianThreshold argument.
* \param [in] nOctaves The input <tt>\ref VX_TYPE_INT32</tt> scalar for nOctaves argument.
* \param [in] nOctaveLayers The input <tt>\ref VX_TYPE_INT32</tt> scalar for nOctaveLayers argument.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_surfDetect(vx_graph graph, vx_image input, vx_image mask, vx_array output_kp, vx_array output_des, vx_float32 hessianThreshold, vx_int32 nOctaves, vx_int32 nOctaveLayers);
/*! \brief [Graph] Creates a OpenCV Flip function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] FlipCode The input <tt>\ref VX_TYPE_INT32</tt> scalar to set FlipCode.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_flip(vx_graph graph, vx_image input, vx_image output, vx_int32 FlipCode);
/*! \brief [Graph] Creates a OpenCV transpose function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> or <tt>\ref VX_DF_IMAGE_U16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_transpose(vx_graph graph, vx_image input, vx_image output);
/*! \brief [Graph] Creates a OpenCV integral function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image in <tt>\ref VX_DF_IMAGE_U32</tt> or <tt>\ref VX_DF_IMAGE_S32</tt> format.
* \param [in] sdepth The input <tt>\ref VX_TYPE_INT32</tt> scalar to set sdepth.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_integral(vx_graph graph, vx_image input, vx_image output, vx_int32 sdepth);
/*! \brief [Graph] Creates a OpenCV norm function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] norm_value The output <tt>\ref VX_TYPE_FLOAT32</tt> scalar norm_value.
* \param [in] norm_type The input <tt>\ref VX_TYPE_INT32</tt> scalar to set norm_type.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_norm(vx_graph graph, vx_image input, vx_float32 norm_value, vx_int32 norm_type);
/*! \brief [Graph] Creates a OpenCV countNonZero function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] non_zero The output <tt>\ref VX_TYPE_INT32</tt> scalar non_zero.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_countNonZero(vx_graph graph, vx_image input, vx_int32 non_zero);
/*! \brief [Graph] Creates a OpenCV Multiply function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] scale The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set scale.
* \param [in] dtype The input <tt>\ref VX_TYPE_INT32</tt> scalar to set dtype.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_multiply(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output, vx_float32 scale, vx_int32 dtype);
/*! \brief [Graph] Creates a OpenCV Divide function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] scale The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set scale.
* \param [in] dtype The input <tt>\ref VX_TYPE_INT32</tt> scalar to set dtype.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_divide(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output, vx_float32 scale, vx_int32 dtype);
/*! \brief [Graph] Creates a OpenCV ADD function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_add(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output);
/*! \brief [Graph] Creates a OpenCV Subtract function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_subtract(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output);
/*! \brief [Graph] Creates a OpenCV absdiff function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_absDiff(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output);
/*! \brief [Graph] Creates a OpenCV addWeighted function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] aplha The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set aplha.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] beta The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set beta.
* \param [in] gamma The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set gamma.
* \param [out] output The output image is as same size and type of input.
* \param [in] dtype The input <tt>\ref VX_TYPE_INT32</tt> scalar to set dtype.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_addWeighted(vx_graph graph, vx_image input_1, vx_float32 aplha, vx_image input_2, vx_float32 beta, vx_float32 gamma, vx_image output, vx_int32 dtype);
/*! \brief [Graph] Creates a OpenCV adaptiveThreshold function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] maxValue The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set maxValue.
* \param [in] adaptiveMethod The input <tt>\ref VX_TYPE_INT32</tt> scalar to set adaptiveMethod.
* \param [in] thresholdType The input <tt>\ref VX_TYPE_INT32</tt> scalar to set thresholdType.
* \param [in] blockSize The input <tt>\ref VX_TYPE_INT32</tt> scalar to set blockSize.
* \param [in] c The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set c.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_adaptiveThreshold(vx_graph graph, vx_image input, vx_image output, vx_float32 maxValue, vx_int32 adaptiveMethod, vx_int32 thresholdType, vx_int32 blockSize, vx_float32 c);
/*! \brief [Graph] Creates a OpenCV threshold function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] thresh The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set thresh.
* \param [in] maxVal The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set maxVal.
* \param [in] type The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set type.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_threshold(vx_graph graph, vx_image input, vx_image output, vx_float32 thresh, vx_float32 maxVal, vx_int32 type);
/*! \brief [Graph] Creates a OpenCV distanceTransform function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_distanceTransform(vx_graph graph, vx_image input, vx_image output);
/*! \brief [Graph] Creates a OpenCV cvtColor function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] CODE The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set FlipCode.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_cvtColor(vx_graph graph, vx_image input, vx_image output, vx_uint32 CODE);
/*! \brief [Graph] Creates a OpenCV fastNlMeansDenoising function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] h The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set h.
* \param [in] template_ws The input <tt>\ref VX_TYPE_INT32</tt> scalar to set template_ws.
* \param [in] search_ws The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set search_ws.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_fastNlMeansDenoising(vx_graph graph, vx_image input, vx_image output, vx_float32 h, vx_int32 template_ws, vx_int32 search_ws);
/*! \brief [Graph] Creates a OpenCV fastNlMeansDenoisingColored function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_RGB</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] h The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set h.
* \param [in] h_color The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set h_color.
* \param [in] template_ws The input <tt>\ref VX_TYPE_INT32</tt> scalar to set template_ws.
* \param [in] search_ws The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set search_ws.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_fastNlMeansDenoisingColored(vx_graph graph, vx_image input, vx_image output, vx_float32 h, vx_float32 h_color, vx_int32 template_ws, vx_int32 search_ws);
/*! \brief [Graph] Creates a OpenCV Resize function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] Size_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Size_X.
* \param [in] Size_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Size_Y.
* \param [in] FX The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set FX.
* \param [in] FY The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set FY.
* \param [in] interpolation The input <tt>\ref VX_TYPE_INT32</tt> scalar to set interpolation.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_resize(vx_graph graph, vx_image input, vx_image output, vx_int32 Size_X, vx_int32 Size_Y, vx_float32 FX, vx_float32 FY, vx_int32 interpolation);
/*! \brief [Graph] Creates a OpenCV pyrup function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] Swidth The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set Swidth.
* \param [in] Sheight The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set Sheight.
* \param [in] bordertype The input <tt>\ref VX_TYPE_INT32</tt> scalar to set bordertype.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_pyrUp(vx_graph graph, vx_image input, vx_image output, vx_uint32 Swidth, vx_uint32 Sheight, vx_int32 bordertype);
/*! \brief [Graph] Creates a OpenCV pyrdown function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] Swidth The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set Swidth.
* \param [in] Sheight The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set Sheight.
* \param [in] bordertype The input <tt>\ref VX_TYPE_INT32</tt> scalar to set bordertype.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_pyrDown(vx_graph graph, vx_image input, vx_image output, vx_uint32 Swidth, vx_uint32 Sheight, vx_int32 bordertype);
/*! \brief [Graph] Creates a OpenCV buildPyramid function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output Pyramid.
* \param [in] maxLevel The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set maxLevel.
* \param [in] border The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_buildPyramid(vx_graph graph, vx_image input, vx_pyramid output, vx_uint32 maxLevel, vx_uint32 border);
/*! \brief [Graph] Creates a OpenCV buildOpticalFlowPyramid function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output Pyramid.
* \param [in] S_width The input <tt>\ref VX_TYPE_INT32</tt> scalar to set S_width.
* \param [in] S_height The input <tt>\ref VX_TYPE_INT32</tt> scalar to set S_height.
* \param [in] WinSize The input <tt>\ref VX_TYPE_INT32</tt> scalar to set WinSize.
* \param [in] WithDerivatives The input <tt>\ref VX_TYPE_BOOL</tt> scalar to set withDerivatives.
* \param [in] Pyr_border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Pyr_border.
* \param [in] derviBorder The input <tt>\ref VX_TYPE_INT32</tt> scalar to set derviBorder.
* \param [in] tryReuse The input <tt>\ref VX_TYPE_BOOL</tt> scalar to set tryReuseInputImage.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_buildOpticalFlowPyramid(vx_graph graph, vx_image input, vx_pyramid output, vx_uint32 S_width, vx_uint32 S_height, vx_int32 WinSize, vx_bool WithDerivatives, vx_int32 Pyr_border, vx_int32 derviBorder, vx_bool tryReuse);
/*! \brief [Graph] Creates a OpenCV Dilate function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] Kernel The input <tt>\ref vx_matrix</tt> matrix to set Kernel.
* \param [in] Anchor_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_X.
* \param [in] Anchor_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_Y.
* \param [in] iterations The input <tt>\ref VX_TYPE_INT32</tt> scalar to set iterations.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_dilate(vx_graph graph, vx_image input, vx_image output, vx_matrix Kernel, vx_int32 Anchor_X, vx_int32 Anchor_Y, vx_int32 iterations, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV Erode function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] Kernel The input <tt>\ref vx_matrix</tt> matrix to set Kernel.
* \param [in] Anchor_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_X.
* \param [in] Anchor_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_Y.
* \param [in] iterations The input <tt>\ref VX_TYPE_INT32</tt> scalar to set iterations.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_erode(vx_graph graph, vx_image input, vx_image output, vx_matrix Kernel, vx_int32 Anchor_X, vx_int32 Anchor_Y, vx_int32 iterations, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV warpAffine function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] M The input <tt>\ref vx_matrix</tt> matrix to set M.
* \param [in] Size_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Size_X.
* \param [in] Size_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Size_Y.
* \param [in] flags The input <tt>\ref VX_TYPE_INT32</tt> scalar to set flags.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_warpAffine(vx_graph graph, vx_image input, vx_image output, vx_matrix M, vx_int32 Size_X, vx_int32 Size_Y, vx_int32 flags, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV warpPerspective function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] M The input <tt>\ref vx_matrix</tt> matrix to set M.
* \param [in] Size_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Size_X.
* \param [in] Size_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Size_Y.
* \param [in] flags The input <tt>\ref VX_TYPE_INT32</tt> scalar to set flags.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_warpPerspective(vx_graph graph, vx_image input, vx_image output, vx_matrix M, vx_int32 Size_X, vx_int32 Size_Y, vx_int32 flags, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV morphologyEX function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] OP The input <tt>\ref VX_TYPE_INT32</tt> scalar to set OP.
* \param [in] Kernel The input <tt>\ref vx_matrix</tt> matrix to set Kernel.
* \param [in] Anchor_X The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_X.
* \param [in] Anchor_Y The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Anchor_Y.
* \param [in] iterations The input <tt>\ref VX_TYPE_INT32</tt> scalar to set iterations.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_morphologyEX(vx_graph graph, vx_image input, vx_image output, vx_int32 OP, vx_matrix Kernel, vx_int32 Anchor_X, vx_int32 Anchor_Y, vx_int32 iterations, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV Bitwise And function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_bitwiseAnd(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output);
/*! \brief [Graph] Creates a OpenCV Bitwise NOT function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_bitwiseNot(vx_graph graph, vx_image input, vx_image output);
/*! \brief [Graph] Creates a OpenCV Bitwise OR function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_bitwiseOr(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output);
/*! \brief [Graph] Creates a OpenCV Bitwise XOR function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_bitwiseXor(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output);
/*! \brief [Graph] Creates a OpenCV Canny function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] threshold1 The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set threshold1.
* \param [in] threshold2 The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set threshold2.
* \param [in] aperture_size The input <tt>\ref VX_TYPE_INT32</tt> scalar to set aperture_size.
* \param [in] L2_Gradient The input <tt>\ref VX_TYPE_BOOL</tt> scalar to set L2_Gradient.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_canny(vx_graph graph, vx_image input, vx_image output, vx_float32 threshold1, vx_float32 threshold2, vx_int32 aperture_size, vx_bool L2_Gradient);
/*! \brief [Graph] Creates a OpenCV Compare function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input_1 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [in] input_2 The input image in <tt>\ref VX_DF_IMAGE_U8</tt> or <tt>\ref VX_DF_IMAGE_S16</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] cmpop The input value in vx_int32 format.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_compare(vx_graph graph, vx_image input_1, vx_image input_2, vx_image output, vx_int32 cmpop);
/*! \brief [Graph] Creates a OpenCV convertScaleAbs function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] image_in The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] image_out The output image is as same size and type of input.
* \param [in] alpha The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set alpha.
* \param [in] beta The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set beta.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_convertScaleAbs(vx_graph graph, vx_image image_in, vx_image image_out, vx_float32 alpha, vx_float32 beta);
/*! \brief [Graph] Creates a OpenCV cornerHarris function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] blocksize The input <tt>\ref VX_TYPE_INT32</tt> scalar to set blocksize.
* \param [in] ksize The input <tt>\ref VX_TYPE_INT32</tt> scalar to set ksize.
* \param [in] k The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set K.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_cornerHarris(vx_graph graph, vx_image input, vx_image output, vx_int32 blocksize, vx_int32 ksize, vx_float32 k, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV cornerMinEigenVal function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] blockSize The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set blocksize.
* \param [in] ksize The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set ksize.
* \param [in] border The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_cornerMinEigenVal(vx_graph graph, vx_image input, vx_image output, vx_uint32 blockSize, vx_uint32 ksize, vx_int32 border);
/*! \brief [Graph] Creates a OpenCV Laplacian function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] ddepth The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set ddepth.
* \param [in] ksize The input <tt>\ref VX_TYPE_UINT32</tt> scalar to set ksize.
* \param [in] scale The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set scale.
* \param [in] delta The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set delta.
* \param [in] border_mode The input <tt>\ref VX_TYPE_INT32</tt> scalar to set border_mode.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_laplacian(vx_graph graph, vx_image input, vx_image output, vx_uint32 ddepth, vx_uint32 ksize, vx_float32 scale, vx_float32 delta, vx_int32 border_mode);
/*! \brief [Graph] Creates a OpenCV Scharr function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] ddepth The input <tt>\ref VX_TYPE_INT32</tt> scalar to set ddepth.
* \param [in] dx The input <tt>\ref VX_TYPE_INT32</tt> scalar to set dx.
* \param [in] dy The input <tt>\ref VX_TYPE_INT32</tt> scalar to set dy.
* \param [in] scale The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set scale.
* \param [in] delta The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set delta.
* \param [in] bordertype The input <tt>\ref VX_TYPE_INT32</tt> scalar to set bordertype.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_scharr(vx_graph graph, vx_image input, vx_image output, vx_int32 ddepth, vx_int32 dx, vx_int32 dy, vx_float32 scale, vx_float32 delta, vx_int32 bordertype);
/*! \brief [Graph] Creates a OpenCV Sobel function node.
* \ingroup group_opencv
* \param [in] graph The reference to the graph.
* \param [in] input The input image in <tt>\ref VX_DF_IMAGE_U8</tt> format.
* \param [out] output The output image is as same size and type of input.
* \param [in] ddepth The input <tt>\ref VX_TYPE_INT32</tt> scalar to set ddepth.
* \param [in] dx The input <tt>\ref VX_TYPE_INT32</tt> scalar to set dx.
* \param [in] dy The input <tt>\ref VX_TYPE_INT32</tt> scalar to set dy.
* \param [in] Ksize The input <tt>\ref VX_TYPE_INT32</tt> scalar to set Ksize.
* \param [in] scale The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set scale.
* \param [in] delta The input <tt>\ref VX_TYPE_FLOAT32</tt> scalar to set delta.
* \param [in] bordertype The input <tt>\ref VX_TYPE_INT32</tt> scalar to set bordertype.
* \return <tt>\ref vx_node</tt>.
* \retval vx_node A node reference. Any possible errors preventing a successful creation should be checked using <tt>\ref vxGetStatus</tt>*/
extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtCvNode_sobel(vx_graph graph, vx_image input, vx_image output, vx_int32 ddepth, vx_int32 dx, vx_int32 dy, vx_int32 Ksize, vx_float32 scale, vx_float32 delta, vx_int32 bordertype);
#ifdef __cplusplus
}
#endif