From 47b2459504bf9e3e1b791842a371a5325d14253d Mon Sep 17 00:00:00 2001 From: tanchinluh <43855688+tanchinluh@users.noreply.github.com> Date: Sat, 10 Oct 2020 20:33:05 +0800 Subject: [PATCH] Add in distance transform and watershed Add in distance transform and watershed for Stephan --- .gitignore | 2 +- help/en_US/Image Transforms/imdistransf.xml | 101 +++++++++++++++++ help/en_US/Image Transforms/imwatershed.xml | 93 ++++++++++++++++ help/en_US/master_help.xml | 4 + .../scilab_en_US_help/JavaHelpSearch/DOCS | Bin 12495 -> 12673 bytes .../scilab_en_US_help/JavaHelpSearch/DOCS.TAB | Bin 1652 -> 1676 bytes .../scilab_en_US_help/JavaHelpSearch/OFFSETS | Bin 643 -> 649 bytes .../JavaHelpSearch/POSITIONS | Bin 49997 -> 50653 bytes .../scilab_en_US_help/JavaHelpSearch/SCHEMA | 2 +- .../scilab_en_US_help/JavaHelpSearch/TMAP | Bin 26624 -> 26624 bytes help/en_US/scilab_en_US_help/imdct.html | 4 +- help/en_US/scilab_en_US_help/imdistransf.html | 97 ++++++++++++++++ help/en_US/scilab_en_US_help/imhough.html | 4 +- help/en_US/scilab_en_US_help/imradon.html | 4 +- help/en_US/scilab_en_US_help/imwatershed.html | 95 ++++++++++++++++ help/en_US/scilab_en_US_help/index.html | 14 ++- help/en_US/scilab_en_US_help/jhelpmap.jhm | 2 + help/en_US/scilab_en_US_help/jhelptoc.xml | 2 + ...tion_8adb84d26782c1d3a5d34be202e5d52c.html | 14 ++- images/cards.png | Bin 0 -> 77914 bytes macros/genhelpscript_single.sce | 4 +- macros/imdistransf.sci | 49 ++++++++ macros/imwatershed.sci | 52 +++++++++ sci_gateway/cpp/common.h | 2 + sci_gateway/cpp/sci_int_imdistransf.cpp | 72 ++++++++++++ sci_gateway/cpp/sci_int_imwatershed.cpp | 105 ++++++++++++++++++ 26 files changed, 711 insertions(+), 11 deletions(-) create mode 100644 help/en_US/Image Transforms/imdistransf.xml create mode 100644 help/en_US/Image Transforms/imwatershed.xml create mode 100644 help/en_US/scilab_en_US_help/imdistransf.html create mode 100644 help/en_US/scilab_en_US_help/imwatershed.html create mode 100644 images/cards.png create mode 100644 macros/imdistransf.sci create mode 100644 macros/imwatershed.sci create mode 100644 sci_gateway/cpp/sci_int_imdistransf.cpp create mode 100644 sci_gateway/cpp/sci_int_imwatershed.cpp diff --git a/.gitignore b/.gitignore index 7a74e5b..7d3ac26 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,7 @@ libgw* Release/ jar/ 2.0/ - +**/testing # ignore doc/notes.txt, but not doc/server/arch.txt #doc/*.txt diff --git a/help/en_US/Image Transforms/imdistransf.xml b/help/en_US/Image Transforms/imdistransf.xml new file mode 100644 index 0000000..801dea0 --- /dev/null +++ b/help/en_US/Image Transforms/imdistransf.xml @@ -0,0 +1,101 @@ + + + + + + + + imdistransf + Distance Transform + + + + + Syntax + + imout = imdistransf(imin) + + + + + + Parameters + + + imin : + Input binary image or 8-bit, single-channel (binary) + + + method : + Distance type, l1, l2, or c where the setting shall correspond to 1, 2 and 3 respectively: + + + l1 : + distance = |x1-x2| + |y1-y2|, use 1 + + + l2 : + the simple euclidean distance, use 2 + + + c : + distance = max(|x1-x2|,|y1-y2|), use 3 + + + imout : + Output image with calculated distances. It is a double precision single-channel image of the same size as input + + + + + + Description + +This function used to calculates the distance to the closest zero pixel for each pixel of the source image. + + + + + + + Examples + + + + + See also + + imwatershed + + + + + Authors + + Tan Chin Luh + + + + + Bibliography + 1. OpenCV 4.1.2 Online Documentation + + diff --git a/help/en_US/Image Transforms/imwatershed.xml b/help/en_US/Image Transforms/imwatershed.xml new file mode 100644 index 0000000..03a91c6 --- /dev/null +++ b/help/en_US/Image Transforms/imwatershed.xml @@ -0,0 +1,93 @@ + + + + + + + + imwatershed + Performs a marker-based image segmentation using the watershed algorithm. + + + + + Syntax + + imout = imwatershed(imin) + + + + + + Parameters + + + imin : + Input 8-bit 3-channel image. + + + markers : + Double precision single-channel image (map) of markers. It should have the same size as image. + + + imout : + Output labelled image + + + + + + Description + +The function implements one of the variants of watershed, non-parametric marker-based segmentation algorithm. + + + + + + + Examples + 0.4; +[markers,n] = imlabel(dist); +markers(1:5,1:5) = 255; +Sw = imwatershed(S, markers); +imshow(Sw,hsvcolormap(3)); + + ]]> + + + + See also + + imdistransf + + + + + Authors + + Tan Chin Luh + + + + + Bibliography + 1. OpenCV 4.1.2 Online Documentation + + diff --git a/help/en_US/master_help.xml b/help/en_US/master_help.xml index fbb69dc..c4a78de 100644 --- a/help/en_US/master_help.xml +++ b/help/en_US/master_help.xml @@ -86,11 +86,13 @@ + + @@ -304,11 +306,13 @@ Image Transforms &a8bc4fd8dec0893dd918bb60b0f96101d; +&af38c2f40fd269d2fd87a0eb576ee1f68; &a0d19cf981a1c35150ace1d395aae6da5; &afd68a6350731398b0743476142e97da2; &a8b0cc6513abbe16ecb90a7d85b33866c; &a9f9eb4b399246c07f3a1de6a1cc29f0d; &a44038e83832186acf3c44df70a75c121; +&a6072980fb4793defef9b59abacb01fc4; Image Types and Color Space Conversions diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS index 9788472bd839032dd9c5b5590dfdedeb5f59d427..4d268d2f7040dd2e126f379bfcb0158850916e20 100644 GIT binary patch literal 12673 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 VXs!lqwcH;dg8hWs7eLbu{{unHi#Y%Q literal 12495 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 bNyH2Z>P`J0ag^d@wg!;43q3|_*6{RS172Sm delta 993 zcmZ8ge^8TU96!d!xgE=zw2hW|$O7VwjUT0+9N8#gc!ruA(DL35HjK4Zrj`)gtEMEp zyOZ`xo0{j<4Yi<~+uSa{KDtH1!$?_q#2jRVlVHlR`~Kn4P3L*i75(o=}qz`*#67=_Wc zl+2`%+=8P9hJTAt;vr+w$YcUY*~iR4MRXqk`E%MTlFcf`57a(F@K~>v^Mh@jf7*S^ z(|eSeO~vcBWFFjZ-~T3WIse6MoujZTeSa-qw{h#uA#om`(2F^{C6?p$O~Mmr+lRcq~oHU6PdU$nme zl=AcwTz>DlM|WJ!2bkv!klWH%?_9rDM#+-eFK5;I^CQY*PlrU~ir-8p+O<-RDD27A z?Sj~@UyA(3?YBn;w+3AY8(#67K97I0;*a9)fqTlFn6-6H`Nx*5n;re_Zs+N|Nr1+L zdZsdO&H2vkMB7`SGcXM(z|)Bm7%=O8u5gqWJg3r%y%~?L~)I2 ztS#)}ly~w@&NUPIlcN<0mAf^A^}_Y6PlIjxZ@pExJ3BwR<#Ek;mb^ZQmH*wKmv1v; zG+DX+i1*@nq5qvzMFh?SnbVBj)on8wsnAZ!kRKKVmk zss!%p49O5BgNPAm>MJG;i_@Z6^VH;`4DtWa2=Ai~>QU*~?>;Bxgh(BLw}Sv`Ga`_v zn?=9EGb+X4n@Qv*keCc57u;w%`B;WxEj@-pnZjEU^W`W?{tv11GCN>ERr{I!F!=Q! D?SD^9 diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS index 2940b3b22b1ea0ab39cb0b6bae57dbbf90be4934..314da1859b9281dce222b9048c6be6e1aa24ca84 100644 GIT binary patch delta 400 zcmV;B0dM|;1&IZaMND2Jtfz@eSj8Ge9$wWK<2J~DivIYal#wl3?O}Ad|K}WQ(lwDL zV<65?5YBhDro|*pWSY)(j-!l9Qk11BN>Y@iDN0h5r721`m5`B;PXX4E;1++SR+i&O zSlzC-W3#()3uC>%?QjgFQ8izzrFI#@t#WFw3gXqLWvHBFo1U*`U*grEnYeT+!?IVq z4!aA1t~XyIu5=>Hk6P1HQ$t;Bab&V(kQ!bHttvmrbYCYIRz@X186h*lc!NJ*L-fx7==bP>5VGej#rKaMh5Q5yjI0 delta 394 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 diff --git a/help/en_US/scilab_en_US_help/imdct.html b/help/en_US/scilab_en_US_help/imdct.html index 5f67caa..abca50c 100644 --- a/help/en_US/scilab_en_US_help/imdct.html +++ b/help/en_US/scilab_en_US_help/imdct.html @@ -20,7 +20,7 @@ - imhough >> + imdistransf >> @@ -75,7 +75,7 @@ - imhough >> + imdistransf >> diff --git a/help/en_US/scilab_en_US_help/imdistransf.html b/help/en_US/scilab_en_US_help/imdistransf.html new file mode 100644 index 0000000..ec40aff --- /dev/null +++ b/help/en_US/scilab_en_US_help/imdistransf.html @@ -0,0 +1,97 @@ + + + imdistransf + + + +
+ + + + +
+ << imdct + + + Image Transforms + + + imhough >> + +
+
+
+ + + + IPCV >> Image Transforms > imdistransf + +

+

imdistransf

+

Distance Transform

+ + +

Syntax

+
imout = imdistransf(imin)
+ +

Parameters

+
imin : +

Input binary image or 8-bit, single-channel (binary)

+
method : +

Distance type, l1, l2, or c where the setting shall correspond to 1, 2 and 3 respectively:

+
l1 : +

distance = |x1-x2| + |y1-y2|, use 1

+
l2 : +

the simple euclidean distance, use 2

+
c : +

distance = max(|x1-x2|,|y1-y2|), use 3

+
imout : +

Output image with calculated distances. It is a double precision single-channel image of the same size as input

+ +

Description

+

This function used to calculates the distance to the closest zero pixel for each pixel of the source image.

+

+ +

Examples

+
S = imread(fullpath(getIPCVpath() + "/images/three_objects.png"));
+Sgray = rgb2gray(S);
+Sb = im2bw(Sgray,0.1);
+Sd = imdistransf(Sb);
+subplot(211);imshow(Sb);subplot(212);imshow(Sd);
+ +

See also

+
  • imwatershed — Performs a marker-based image segmentation using the watershed algorithm.
+ +

Authors

+
  • Tan Chin Luh
+ +

Bibliography

+

1. OpenCV 4.1.2 Online Documentation

+
+ +
+ + + + + + +
Report an issue
+ << imdct + + + Image Transforms + + + imhough >> + +
+
+
+ + diff --git a/help/en_US/scilab_en_US_help/imhough.html b/help/en_US/scilab_en_US_help/imhough.html index 716e3d8..7d93b11 100644 --- a/help/en_US/scilab_en_US_help/imhough.html +++ b/help/en_US/scilab_en_US_help/imhough.html @@ -12,7 +12,7 @@
- << imdct + << imdistransf @@ -71,7 +71,7 @@
Report an issue
- << imdct + << imdistransf diff --git a/help/en_US/scilab_en_US_help/imradon.html b/help/en_US/scilab_en_US_help/imradon.html index 1771915..caa8a9f 100644 --- a/help/en_US/scilab_en_US_help/imradon.html +++ b/help/en_US/scilab_en_US_help/imradon.html @@ -20,7 +20,7 @@ - Image Types and Color Space Conversions >> + imwatershed >>
@@ -82,7 +82,7 @@ - Image Types and Color Space Conversions >> + imwatershed >> diff --git a/help/en_US/scilab_en_US_help/imwatershed.html b/help/en_US/scilab_en_US_help/imwatershed.html new file mode 100644 index 0000000..2bcf2e2 --- /dev/null +++ b/help/en_US/scilab_en_US_help/imwatershed.html @@ -0,0 +1,95 @@ + + + imwatershed + + + + + + + + IPCV >> Image Transforms > imwatershed + +

+

imwatershed

+

Performs a marker-based image segmentation using the watershed algorithm.

+ + +

Syntax

+
imout = imwatershed(imin)
+ +

Parameters

+
imin : +

Input 8-bit 3-channel image.

+
markers : +

Double precision single-channel image (map) of markers. It should have the same size as image.

+
imout : +

Output labelled image

+ +

Description

+

The function implements one of the variants of watershed, non-parametric marker-based segmentation algorithm.

+

+ +

Examples

+
S = imread(fullpath(getIPCVpath() + "/images/three_objects.png"));
+Sgray = rgb2gray(S);
+Sb = im2bw(Sgray,0.1);
+Sd = imdistransf(Sb);
+dist = Sd > 0.4;
+[markers,n] = imlabel(dist);
+markers(1:5,1:5) = 255;
+Sw = imwatershed(S, markers);
+imshow(Sw,hsvcolormap(3));
+ +

See also

+
+ +

Authors

+
  • Tan Chin Luh
+ +

Bibliography

+

1. OpenCV 4.1.2 Online Documentation

+
+ + + + diff --git a/help/en_US/scilab_en_US_help/index.html b/help/en_US/scilab_en_US_help/index.html index 9ec274e..cd35942 100644 --- a/help/en_US/scilab_en_US_help/index.html +++ b/help/en_US/scilab_en_US_help/index.html @@ -490,6 +490,12 @@

IPCV

+
  • imdistransfDistance Transform
  • + + + + +
  • imhoughImage Hough transformation
  • @@ -514,7 +520,13 @@

    IPCV

    -
  • imradonCalculates the 2D-Radon transform of the matrix
  • +
  • imradonCalculates the 2D-Radon transform of the matrix
  • + + + + + +
  • imwatershedPerforms a marker-based image segmentation using the watershed algorithm.
  • Image Types and Color Space Conversions
    • hsv2rgbConvert a HSV image to the equivalent RGB image.
    • diff --git a/help/en_US/scilab_en_US_help/jhelpmap.jhm b/help/en_US/scilab_en_US_help/jhelpmap.jhm index 0a7ab4e..8cb82aa 100644 --- a/help/en_US/scilab_en_US_help/jhelpmap.jhm +++ b/help/en_US/scilab_en_US_help/jhelpmap.jhm @@ -101,11 +101,13 @@ + + diff --git a/help/en_US/scilab_en_US_help/jhelptoc.xml b/help/en_US/scilab_en_US_help/jhelptoc.xml index f63e609..090ac7b 100644 --- a/help/en_US/scilab_en_US_help/jhelptoc.xml +++ b/help/en_US/scilab_en_US_help/jhelptoc.xml @@ -114,11 +114,13 @@ + + diff --git a/help/en_US/scilab_en_US_help/section_8adb84d26782c1d3a5d34be202e5d52c.html b/help/en_US/scilab_en_US_help/section_8adb84d26782c1d3a5d34be202e5d52c.html index 8291d84..c2a84bf 100644 --- a/help/en_US/scilab_en_US_help/section_8adb84d26782c1d3a5d34be202e5d52c.html +++ b/help/en_US/scilab_en_US_help/section_8adb84d26782c1d3a5d34be202e5d52c.html @@ -39,6 +39,12 @@

      Image Transforms

      +
    • imdistransfDistance Transform
    • + + + + +
    • imhoughImage Hough transformation
    • @@ -63,7 +69,13 @@

      Image Transforms

      -
    • imradonCalculates the 2D-Radon transform of the matrix
    +
  • imradonCalculates the 2D-Radon transform of the matrix
  • + + + + + +
  • imwatershedPerforms a marker-based image segmentation using the watershed algorithm.

  • diff --git a/images/cards.png b/images/cards.png new file mode 100644 index 0000000000000000000000000000000000000000..1e61d874f6b874e6d87420e0d203e6a21b0a97d4 GIT binary patch literal 77914 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 0.4; + // [markers,n] = imlabel(dist); + // markers(1:5,1:5) = 255; + // Sw = imwatershed(S, markers); + // imshow(Sw,hsvcolormap(3)); + // + // See also + // imdistransf + // + // Authors + // Tan Chin Luh + // + // Bibliography + // 1. OpenCV 4.1.2 Online Documentation + + rhs=argn(2); + + // Error Checking + if rhs ~= 2; error("2 arguments expected, input 3 channles image and markers 1 channel image"); end + if size(imin,3) ~= 3; error("First argument must be a 3 channels image."); end + if size(markers,3) ~= 1; error("Second argument must be a single channel image."); end + + [Sd, imout] = int_imwatershed(imin, markers,max(markers(markers<255))); + + imout(imout==-1) = 0; + imout(imout==255) = 0; + +endfunction diff --git a/sci_gateway/cpp/common.h b/sci_gateway/cpp/common.h index ea1dda7..ae6a863 100644 --- a/sci_gateway/cpp/common.h +++ b/sci_gateway/cpp/common.h @@ -287,5 +287,7 @@ int matvec2scihyper(vector &pImage, void *pMatData); int sci_int_imboundingRect(char * fname, void* pvApiCtx); int sci_int_imfinfo(char *fname, void* pvApiCtx); int sci_aviinfo(char *fname, void* pvApiCtx); + int sci_int_imdistransf(char * fname, void* pvApiCtx); + int sci_int_imwatershed(char * fname, void* pvApiCtx); } #endif diff --git a/sci_gateway/cpp/sci_int_imdistransf.cpp b/sci_gateway/cpp/sci_int_imdistransf.cpp new file mode 100644 index 0000000..7a77e2a --- /dev/null +++ b/sci_gateway/cpp/sci_int_imdistransf.cpp @@ -0,0 +1,72 @@ +/*********************************************************************** + * + * IPCV - Scilab Image Processing and Computer Vision toolbox + * Copyright (C) 2020 Tan Chin Luh + * + * Reference : https://docs.opencv.org/4.1.2/d2/dbd/tutorial_distance_transform.html + ***********************************************************************/ + +#include "common.h" + +using namespace cv; +using namespace std; + +/************************************************************ +* imout = int_imdistransf(imin); +************************************************************/ + + +int sci_int_imdistransf(char * fname,void* pvApiCtx) +{ + + CheckInputArgument(pvApiCtx, 2, 2); + CheckOutputArgument(pvApiCtx, 0, 1); + + // First Input - Image + Mat src; + GetImage(1,src,pvApiCtx); + + // Second Input - Method + int *piAddr2 = NULL; + double num_objs = 0; + getVarAddressFromPosition(pvApiCtx, 2, &piAddr2); + getScalarDouble(pvApiCtx, piAddr2, &num_objs); + int method = round(num_objs); + + // ToDo: Checking Image type, automatically convert RGB or Gray to binary (lazy approach) + int src_type = src.type(); + if (src_type!=0) + { + Scierror(1,"The input must be in Scilab binary format.\n", fname); + return -1; + } + + // Perform the distance transform algorithm + Mat dist; + distanceTransform(src, dist, method, 3); + normalize(dist, dist, 0, 1.0, NORM_MINMAX); + + // Set output to Scilab + SetImage(1,dist,pvApiCtx); + + + return 0; + + +} + +//+--------+----+----+----+----+----+----+----+----+ +//| | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | +//+--------+----+----+----+----+----+----+----+----+ +//| CV_8U | 0 | 8 | 16 | 24 | 32 | 40 | 48 | 56 | +//| CV_8S | 1 | 9 | 17 | 25 | 33 | 41 | 49 | 57 | +//| CV_16U | 2 | 10 | 18 | 26 | 34 | 42 | 50 | 58 | +//| CV_16S | 3 | 11 | 19 | 27 | 35 | 43 | 51 | 59 | +//| CV_32S | 4 | 12 | 20 | 28 | 36 | 44 | 52 | 60 | +//| CV_32F | 5 | 13 | 21 | 29 | 37 | 45 | 53 | 61 | +//| CV_64F | 6 | 14 | 22 | 30 | 38 | 46 | 54 | 62 | +//+--------+----+----+----+----+----+----+----+----+ + +//cv::DIST_L1 = 1, +//cv::DIST_L2 = 2, +//cv::DIST_C = 3, diff --git a/sci_gateway/cpp/sci_int_imwatershed.cpp b/sci_gateway/cpp/sci_int_imwatershed.cpp new file mode 100644 index 0000000..6a5b51d --- /dev/null +++ b/sci_gateway/cpp/sci_int_imwatershed.cpp @@ -0,0 +1,105 @@ +/*********************************************************************** + * + * IPCV - Scilab Image Processing and Computer Vision toolbox + * Copyright (C) 2020 Tan Chin Luh + * + * Reference : https://docs.opencv.org/4.1.2/d2/dbd/tutorial_distance_transform.html + ***********************************************************************/ + +#include "common.h" + +using namespace cv; +using namespace std; + +/************************************************************ +* imout = int_imwatershed(imin); +************************************************************/ + + +int sci_int_imwatershed(char * fname, void* pvApiCtx) +{ + + CheckInputArgument(pvApiCtx, 3, 3); + CheckOutputArgument(pvApiCtx, 0, 2); + + // First Input - Image + Mat src_gray; + GetImage(1, src_gray, pvApiCtx); + + Mat src_labeled; + GetImage(2, src_labeled, pvApiCtx); + + Mat markers; + src_labeled.convertTo(markers, CV_32S); + + int *piAddr3 = NULL; + double num_objs = 0; + getVarAddressFromPosition(pvApiCtx, 3, &piAddr3); + getScalarDouble(pvApiCtx, piAddr3, &num_objs); + + + // sciprint + // ToDo: Checking Image type, automatically convert RGB or Gray to binary (lazy approach) + //int src_type = src.type(); + //if (src_type!=0) + //{ + // Scierror(1,"The input must be in Scilab binary format.\n", fname); + // return -1; + //} + + // Perform the distance transform algorithm + + + //sciprint("%i\n", src.type()); + //sciprint("%i\n", src.type()); + watershed(src_gray, markers); + + Mat mark; + markers.convertTo(mark, CV_8U); + bitwise_not(mark, mark); + // imshow("Markers_v2", mark); // uncomment this if you want to see how the mark + // image looks like at that point + // Generate random colors + vector colors; + for (size_t i = 0; i < num_objs; i++) + { + int b = theRNG().uniform(0, 256); + int g = theRNG().uniform(0, 256); + int r = theRNG().uniform(0, 256); + colors.push_back(Vec3b((uchar)b, (uchar)g, (uchar)r)); + } + // Create the result image + Mat dst = Mat::zeros(markers.size(), CV_8UC3); + // Fill labeled objects with random colors + for (int i = 0; i < markers.rows; i++) + { + for (int j = 0; j < markers.cols; j++) + { + int index = markers.at(i, j); + if (index > 0 && index <= static_cast(num_objs)) + { + dst.at(i, j) = colors[index - 1]; + } + } + } + + // Set output to Scilab + SetImage(1, dst, pvApiCtx); + SetImage(2, markers, pvApiCtx); + + return 0; + + +} + +//+--------+----+----+----+----+----+----+----+----+ +//| | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | +//+--------+----+----+----+----+----+----+----+----+ +//| CV_8U | 0 | 8 | 16 | 24 | 32 | 40 | 48 | 56 | +//| CV_8S | 1 | 9 | 17 | 25 | 33 | 41 | 49 | 57 | +//| CV_16U | 2 | 10 | 18 | 26 | 34 | 42 | 50 | 58 | +//| CV_16S | 3 | 11 | 19 | 27 | 35 | 43 | 51 | 59 | +//| CV_32S | 4 | 12 | 20 | 28 | 36 | 44 | 52 | 60 | +//| CV_32F | 5 | 13 | 21 | 29 | 37 | 45 | 53 | 61 | +//| CV_64F | 6 | 14 | 22 | 30 | 38 | 46 | 54 | 62 | +//+--------+----+----+----+----+----+----+----+----+