From bb40a1c5c10222057cc1f0d477e86212e70386f9 Mon Sep 17 00:00:00 2001 From: kvmanohar22 Date: Fri, 17 Mar 2017 20:22:35 +0530 Subject: [PATCH 1/3] fixed a small bug --- src/OpenCV_ImagesSupport.jl | 2 +- src/OpenCV_Mat.jl | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/OpenCV_ImagesSupport.jl b/src/OpenCV_ImagesSupport.jl index d3ff1e4..49833ab 100644 --- a/src/OpenCV_ImagesSupport.jl +++ b/src/OpenCV_ImagesSupport.jl @@ -34,7 +34,7 @@ function convertToMat(image) if (cd == 3) # color (RGB) image for j = 1:Base.size(img,2) # index row first (Mat is row-major order) for k =1:Base.size(img,1) # index column second - colorvec = tostdvec([float(img[k,j,1].i),float(img[k,j,2].i),float(img[k,j,3].i)]) + colorvec = [float(img[k,j,1].i),float(img[k,j,2].i),float(img[k,j,3].i)] pixset(mat, k-1, j-1, colorvec) # -1 to have 0-indexing per C++ end end diff --git a/src/OpenCV_Mat.jl b/src/OpenCV_Mat.jl index 3ae4d47..0ab1223 100644 --- a/src/OpenCV_Mat.jl +++ b/src/OpenCV_Mat.jl @@ -194,18 +194,25 @@ function pixset(img, row::Int, col::Int, value) @cxx at_d(img, row, col, value); # RGB images (value:: std::vector) elseif (cvtypeval(img) == CV_8SC3) + cppvec = tostdvec(value) @cxx at_vc(img, row, col, value); elseif (cvtypeval(img) == CV_8UC3) + cppvec = tostdvec(value) @cxx at_v3b(img, row, col, value); elseif (cvtypeval(img) == CV_16SC3) + cppvec = tostdvec(value) @cxx at_v3s(img, row, col, value); elseif (cvtypeval(img) == CV_16UC3) + cppvec = tostdvec(value) @cxx at_v3us(img, row, col, value); elseif (cvtypeval(img) == CV_32SC3) + cppvec = tostdvec(value) @cxx at_v3i(img, row, col, value); elseif (cvtypeval(img) == CV_32FC3) + cppvec = tostdvec(value) @cxx at_v3f(img, row, col, value); elseif (cvtypeval(img) == CV_64FC3) + cppvec = tostdvec(value) @cxx at_v3d(img, row, col, value); else throw(ArgumentError("Image format not recognized!")) end From 8612e8718ac91f0c80c474d854c88f3c653f970a Mon Sep 17 00:00:00 2001 From: kvmanohar22 Date: Sat, 18 Mar 2017 03:20:19 +0530 Subject: [PATCH 2/3] update --- src/OpenCV_Mat.jl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/OpenCV_Mat.jl b/src/OpenCV_Mat.jl index 0ab1223..d0cd211 100644 --- a/src/OpenCV_Mat.jl +++ b/src/OpenCV_Mat.jl @@ -195,25 +195,25 @@ function pixset(img, row::Int, col::Int, value) # RGB images (value:: std::vector) elseif (cvtypeval(img) == CV_8SC3) cppvec = tostdvec(value) - @cxx at_vc(img, row, col, value); + @cxx at_vc(img, row, col, cppvec); elseif (cvtypeval(img) == CV_8UC3) cppvec = tostdvec(value) - @cxx at_v3b(img, row, col, value); + @cxx at_v3b(img, row, col, cppvec); elseif (cvtypeval(img) == CV_16SC3) cppvec = tostdvec(value) - @cxx at_v3s(img, row, col, value); + @cxx at_v3s(img, row, col, cppvec); elseif (cvtypeval(img) == CV_16UC3) cppvec = tostdvec(value) - @cxx at_v3us(img, row, col, value); + @cxx at_v3us(img, row, col, cppvec); elseif (cvtypeval(img) == CV_32SC3) cppvec = tostdvec(value) - @cxx at_v3i(img, row, col, value); + @cxx at_v3i(img, row, col, cppvec); elseif (cvtypeval(img) == CV_32FC3) cppvec = tostdvec(value) - @cxx at_v3f(img, row, col, value); + @cxx at_v3f(img, row, col, cppvec); elseif (cvtypeval(img) == CV_64FC3) cppvec = tostdvec(value) - @cxx at_v3d(img, row, col, value); + @cxx at_v3d(img, row, col, cppvec); else throw(ArgumentError("Image format not recognized!")) end end From 40e5d3ab9dc372c020878e1920bc32b8ba0ad9ab Mon Sep 17 00:00:00 2001 From: kvmanohar22 Date: Sat, 18 Mar 2017 08:51:58 +0530 Subject: [PATCH 3/3] update implementation --- src/OpenCV_Mat.jl | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/OpenCV_Mat.jl b/src/OpenCV_Mat.jl index d0cd211..ac93964 100644 --- a/src/OpenCV_Mat.jl +++ b/src/OpenCV_Mat.jl @@ -181,6 +181,7 @@ end function pixset(img, row::Int, col::Int, value) (row < 0 || col < 0 || row > rows(img) || col > cols(img)) ? throw(BoundsError()) : nothing + cppvec = tostdvec(value) # Grayscale and binary images (value:: double) if (cvtypeval(img) == CV_8UC1) @cxx at_u(img, row, col, value); @@ -194,25 +195,18 @@ function pixset(img, row::Int, col::Int, value) @cxx at_d(img, row, col, value); # RGB images (value:: std::vector) elseif (cvtypeval(img) == CV_8SC3) - cppvec = tostdvec(value) @cxx at_vc(img, row, col, cppvec); elseif (cvtypeval(img) == CV_8UC3) - cppvec = tostdvec(value) @cxx at_v3b(img, row, col, cppvec); elseif (cvtypeval(img) == CV_16SC3) - cppvec = tostdvec(value) @cxx at_v3s(img, row, col, cppvec); elseif (cvtypeval(img) == CV_16UC3) - cppvec = tostdvec(value) @cxx at_v3us(img, row, col, cppvec); elseif (cvtypeval(img) == CV_32SC3) - cppvec = tostdvec(value) @cxx at_v3i(img, row, col, cppvec); elseif (cvtypeval(img) == CV_32FC3) - cppvec = tostdvec(value) @cxx at_v3f(img, row, col, cppvec); elseif (cvtypeval(img) == CV_64FC3) - cppvec = tostdvec(value) @cxx at_v3d(img, row, col, cppvec); else throw(ArgumentError("Image format not recognized!")) end