From f888846dbd5f74275dcf0b4c887f8d02f9b56afb Mon Sep 17 00:00:00 2001 From: TJ Borromeo Date: Mon, 21 Sep 2015 18:41:13 -0700 Subject: [PATCH 01/85] Updating to Ubuntu 14.04 Updated version to 0.2 and Docker-version to 1.8.2. Locked node's opencv to v3.2.0 when installed via npm. --- Dockerfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2af10e5..7e0651d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,10 +4,11 @@ # 2) Build: wget https://raw.github.com/dotcloud/docker/v0.1.6/contrib/docker-build/docker-build && python docker-build $USER/node-opencv < Dockerfile # 3) Test: docker run $USER/node-opencv node -e "console.log(require('opencv').version)" # -# VERSION 0.1 -# DOCKER-VERSION 0.1.6 +# VERSION 0.2 +# DOCKER-VERSION 1.8.2 -from ubuntu:12.04 +# update to 14.04, but lock versions at 12.04 for now +from ubuntu:14.04 run apt-get update -qq run apt-get install -y software-properties-common python-software-properties run add-apt-repository -y ppa:kubuntu-ppa/backports @@ -15,4 +16,4 @@ run apt-get update run apt-get install -y libcv-dev libcvaux-dev libhighgui-dev libopencv-dev run curl -sL https://deb.nodesource.com/setup | bash - run apt-get install -y nodejs -run npm install opencv || cat npm-debug.log +run npm install opencv@3.2.0 || cat npm-debug.log From 77e72273608387957340abe1f6a1a4608173fed1 Mon Sep 17 00:00:00 2001 From: TJ Borromeo Date: Tue, 22 Sep 2015 21:00:24 -0700 Subject: [PATCH 02/85] Dockerfile: Instantiate opencv3 baseline This should assist in making opencv3 and node-opencv work easier. From logs of this build: -- GDAL: NO -- -- Video I/O: -- DC1394 1.x: NO -- DC1394 2.x: YES (ver 2.2.1) -- FFMPEG: YES -- codec: YES (ver 54.35.0) -- format: YES (ver 54.20.4) -- util: YES (ver 52.3.0) -- swscale: YES (ver 2.1.1) -- resample: NO -- gentoo-style: YES -- GStreamer: -- base: YES (ver 0.10.36) -- video: YES (ver 0.10.36) -- app: YES (ver 0.10.36) -- riff: YES (ver 0.10.36) -- pbutils: YES (ver 0.10.36) -- OpenNI: NO -- OpenNI PrimeSensor Modules: NO -- OpenNI2: NO -- PvAPI: NO -- GigEVisionSDK: NO -- UniCap: NO -- UniCap ucil: NO -- V4L/V4L2: Using libv4l1 (ver 1.0.1) / libv4l2 (ver 1.0.1) -- XIMEA: NO -- Xine: NO -- gPhoto2: NO -- -- Other third-party libraries: -- Use IPP: 8.2.1 [8.2.1] -- at: /opencv/opencv-3.0.0/3rdparty/ippicv/unpack/ippicv_lnx -- Use IPP Async: NO -- Use Eigen: NO -- Use TBB: YES (ver 4.2 interface 7000) -- Use OpenMP: NO -- Use GCD NO -- Use Concurrency NO -- Use C=: NO -- Use pthreads for parallel for: -- NO -- Use Cuda: NO -- Use OpenCL: YES -- -- OpenCL: -- Version: dynamic -- Include path: /opencv/opencv-3.0.0/3rdparty/include/opencl/1.2 -- Use AMDFFT: NO -- Use AMDBLAS: NO -- -- Python 2: -- Interpreter: /usr/bin/python2.7 (ver 2.7.6) -- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6) -- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2) -- packages path: lib/python2.7/dist-packages -- -- Python 3: -- Interpreter: /usr/bin/python3.4 (ver 3.4) -- -- Python (for build): /usr/bin/python2.7 -- -- Java: -- ant: NO -- JNI: NO -- Java wrappers: NO -- Java tests: NO -- -- Matlab: -- mex: NO -- -- Documentation: -- Doxygen: NO -- PlantUML: NO -- -- Tests and samples: -- Tests: YES -- Performance tests: YES -- C/C++ Examples: NO -- -- Install path: /usr/local -- -- cvconfig.h is in: /opencv/opencv-3.0.0/build -- ----------------------------------------------------------------- -- -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project: BUILD_NEW_PYTHON_SUPPORT -- Build files have been written to: /opencv/opencv-3.0.0/build --- Dockerfile | 84 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 74 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 930a6df..f1ef509 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,16 +4,80 @@ # 2) Build: wget https://raw.github.com/dotcloud/docker/v0.1.6/contrib/docker-build/docker-build && python docker-build $USER/node-opencv < Dockerfile # 3) Test: docker run $USER/node-opencv node -e "console.log(require('opencv').version)" # -# VERSION 0.2 +# VERSION 0.3 # DOCKER-VERSION 8.1.2 + # update to 14.04 -from ubuntu:14.04 -run apt-get update -qq -run apt-get install -y software-properties-common python-software-properties -run add-apt-repository -y ppa:kubuntu-ppa/backports -run apt-get update -run apt-get install -y libcv-dev libcvaux-dev libhighgui-dev libopencv-dev -run curl -sL https://deb.nodesource.com/setup | bash - -run apt-get install -y nodejs -run npm install opencv@3.2.0 || cat npm-debug.log +FROM ubuntu:14.04 + +# listing myself as maintainer of _this_ Dockerfile, though I am not the author of the install script (credit to http://rodrigoberriel.com/) +MAINTAINER borromeotlhs@gmail.com + +# run Rodrigo Berriel’s script for installing opencv3 on Ubuntu 14.04 +# I’ll convert this into a full Dockerfile later, once I see if it works +#COPY ./install-opencv3.sh /tmp/ + +# this is needed as libfaac-dev comes from multiverse, according to: +# http://superuser.com/questions/467774/how-to-install-libfaac-dev +RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse\n\ +deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse\n\ +deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse\n\ +deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse\n"\ +>> /etc/apt/sources.list + + +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \ + software-properties-common +RUN add-apt-repository ppa:george-edison55/cmake-3.x +RUN apt-get update -qq +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \ +curl \ +cmake \ +wget \ +unzip \ +libopencv-dev \ +build-essential \ +git \ +libgtk2.0-dev \ +pkg-config \ +python-dev \ +python-numpy \ +libdc1394-22 \ +libdc1394-22-dev \ +libjpeg-dev \ +libpng12-dev \ +libtiff4-dev \ +libjasper-dev \ +libavcodec-dev \ +libavformat-dev \ +libswscale-dev \ +libxine-dev \ +libgstreamer0.10-dev \ +libgstreamer-plugins-base0.10-dev \ +libv4l-dev \ +libtbb-dev \ +libqt4-dev \ +libfaac-dev \ +libmp3lame-dev \ +libopencore-amrnb-dev \ +libopencore-amrwb-dev \ +libtheora-dev \ +libvorbis-dev \ +libxvidcore-dev \ +x264 \ +v4l-utils + +RUN mkdir opencv +WORKDIR opencv + +RUN wget https://github.com/Itseez/opencv/archive/3.0.0.zip -O opencv-3.0.0.zip +RUN unzip opencv-3.0.0.zip +RUN mkdir opencv-3.0.0/build +WORKDIR opencv-3.0.0/build + +RUN cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_OPENGL=ON .. + +RUN make -j $(nproc) && make install +RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf +RUN ldconfig From 98cf9b321c02614184c648adc615b09d0f4e8072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20Varga?= Date: Fri, 6 Nov 2015 21:57:00 +0100 Subject: [PATCH 03/85] Added BorderType constants --- src/Constants.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Constants.cc b/src/Constants.cc index 4b7f578..f2bd76a 100644 --- a/src/Constants.cc +++ b/src/Constants.cc @@ -62,6 +62,13 @@ void Constants::Init(Local target) { CONST_DOUBLE(CV_PI); CONST(CV_FILLED); + CONST_ENUM(BORDER_DEFAULT); + CONST_ENUM(BORDER_REPLICATE); + CONST_ENUM(BORDER_REFLECT); + CONST_ENUM(BORDER_REFLECT_101); + CONST_ENUM(BORDER_WRAP); + CONST_ENUM(BORDER_CONSTANT); + CONST_ENUM(INTER_NEAREST); CONST_ENUM(INTER_LINEAR); CONST_ENUM(INTER_AREA); From 38ff7a9f3558b12166815a01d2fc0859e1c269b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20Varga?= Date: Fri, 6 Nov 2015 21:57:31 +0100 Subject: [PATCH 04/85] Added Sobel operation --- src/Matrix.cc | 31 +++++++++++++++++++++++++++++++ src/Matrix.h | 1 + 2 files changed, 32 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index fd9e82d..c4176a6 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -59,6 +59,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "gaussianBlur", GaussianBlur); Nan::SetPrototypeMethod(ctor, "medianBlur", MedianBlur); Nan::SetPrototypeMethod(ctor, "bilateralFilter", BilateralFilter); + Nan::SetPrototypeMethod(ctor, "sobel", Sobel); Nan::SetPrototypeMethod(ctor, "copy", Copy); Nan::SetPrototypeMethod(ctor, "flip", Flip); Nan::SetPrototypeMethod(ctor, "roi", ROI); @@ -1153,6 +1154,36 @@ NAN_METHOD(Matrix::BilateralFilter) { info.GetReturnValue().Set(Nan::Null()); } +NAN_METHOD(Matrix::Sobel) { + Nan::HandleScope scope; + + if (info.Length() < 3) + Nan::ThrowError("Need more arguments: sobel(ddepth, xorder, yorder, ksize=3, scale=1.0, delta=0.0, borderType=CV_BORDER_DEFAULT)"); + + int ddepth = info[0]->IntegerValue(); + int xorder = info[1]->IntegerValue(); + int yorder = info[2]->IntegerValue(); + + int ksize = 3; + if (info.Length() > 3) ksize = info[3]->IntegerValue(); + double scale = 1; + if (info.Length() > 4) scale = info[4]->NumberValue(); + double delta = 0; + if (info.Length() > 5) delta = info[5]->NumberValue(); + int borderType = cv::BORDER_DEFAULT; + if (info.Length() > 6) borderType = info[6]->IntegerValue(); + + Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); + + Local result_to_return = + Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *result = Nan::ObjectWrap::Unwrap(result_to_return); + + cv::Sobel(self->mat, result->mat, ddepth, xorder, yorder, ksize, scale, delta, borderType); + + info.GetReturnValue().Set(result_to_return); +} + NAN_METHOD(Matrix::Copy) { Nan::HandleScope scope; diff --git a/src/Matrix.h b/src/Matrix.h index c9b77b8..e3008a8 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -62,6 +62,7 @@ public: JSFUNC(GaussianBlur) JSFUNC(MedianBlur) JSFUNC(BilateralFilter) + JSFUNC(Sobel) JSFUNC(Copy) JSFUNC(Flip) JSFUNC(ROI) From 26929ea8a69eac18a193ea2a1b4fa8ec988983b0 Mon Sep 17 00:00:00 2001 From: Anshul Jain Date: Thu, 3 Dec 2015 18:13:57 -0800 Subject: [PATCH 05/85] Make GetRotationMatrix2D static --- src/Matrix.cc | 25 ++++++++++++------------- test/unit.js | 4 ++++ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 7bdf195..41a2fa9 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -48,7 +48,6 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "saveAsync", SaveAsync); Nan::SetPrototypeMethod(ctor, "resize", Resize); Nan::SetPrototypeMethod(ctor, "rotate", Rotate); - Nan::SetPrototypeMethod(ctor, "getRotationMatrix2D", GetRotationMatrix2D); Nan::SetPrototypeMethod(ctor, "warpAffine", WarpAffine); Nan::SetPrototypeMethod(ctor, "copyTo", CopyTo); Nan::SetPrototypeMethod(ctor, "convertTo", ConvertTo); @@ -101,6 +100,7 @@ void Matrix::Init(Local target) { Nan::SetMethod(ctor, "Zeros", Zeros); Nan::SetMethod(ctor, "Ones", Ones); Nan::SetMethod(ctor, "Eye", Eye); + Nan::SetMethod(ctor, "getRotationMatrix2D", GetRotationMatrix2D); Nan::SetPrototypeMethod(ctor, "copyWithMask", CopyWithMask); Nan::SetPrototypeMethod(ctor, "setWithMask", SetWithMask); Nan::SetPrototypeMethod(ctor, "meanWithMask", MeanWithMask); @@ -1625,24 +1625,23 @@ NAN_METHOD(Matrix::Rotate) { NAN_METHOD(Matrix::GetRotationMatrix2D) { Nan::HandleScope scope; - - Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); - cv::Mat res; + if (info.Length() < 3) { + JSTHROW("Invalid number of arguments"); + } float angle = info[0]->ToNumber()->Value(); - int x = info[1]->IsUndefined() ? round(self->mat.size().width / 2) : - info[1]->Uint32Value(); - int y = info[2]->IsUndefined() ? round(self->mat.size().height / 2) : - info[2]->Uint32Value(); + int x = info[1]->Uint32Value(); + int y = info[2]->Uint32Value(); double scale = info[3]->IsUndefined() ? 1.0 : info[3]->NumberValue(); + Local img_to_return = + Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *img = Nan::ObjectWrap::Unwrap(img_to_return); + cv::Point center = cv::Point(x,y); - res = getRotationMatrix2D(center, angle, scale); + img->mat = getRotationMatrix2D(center, angle, scale); - ~self->mat; - self->mat = res; - - return; + info.GetReturnValue().Set(img_to_return); } NAN_METHOD(Matrix::WarpAffine) { diff --git a/test/unit.js b/test/unit.js index 50d92a8..0190704 100755 --- a/test/unit.js +++ b/test/unit.js @@ -112,6 +112,10 @@ test('Matrix functions', function(assert) { assert.equal(matNew.height(), 1); assert.equal(matNew.width(), 5625); + // GetRotationMatrix2D + mat = cv.Matrix.getRotationMatrix2D(0, 0, 90, 1.0); + assert.deepEqual(mat.size(), [2,3], 'GetRotationMatrix2D'); + assert.end(); }) From 310efa4ca2d9309d301767226b83711ccc6e6700 Mon Sep 17 00:00:00 2001 From: Anshul Jain Date: Thu, 3 Dec 2015 17:45:59 -0800 Subject: [PATCH 06/85] Make LDAWrap methods static Also add unit test cases for LDAWrap methods --- src/LDAWrap.cc | 4 ++-- test/.unit.js.swp | Bin 20480 -> 0 bytes test/unit.js | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) delete mode 100644 test/.unit.js.swp diff --git a/src/LDAWrap.cc b/src/LDAWrap.cc index 34d4e17..c155bd2 100644 --- a/src/LDAWrap.cc +++ b/src/LDAWrap.cc @@ -17,8 +17,8 @@ void LDAWrap::Init(Local target) { ctor->InstanceTemplate()->SetInternalFieldCount(1); ctor->SetClassName(Nan::New("LDA").ToLocalChecked()); - Nan::SetPrototypeMethod(ctor, "subspaceProject", SubspaceProject); - Nan::SetPrototypeMethod(ctor, "subspaceReconstruct", SubspaceReconstruct); + Nan::SetMethod(ctor, "subspaceProject", SubspaceProject); + Nan::SetMethod(ctor, "subspaceReconstruct", SubspaceReconstruct); target->Set(Nan::New("LDA").ToLocalChecked(), ctor->GetFunction()); }; diff --git a/test/.unit.js.swp b/test/.unit.js.swp deleted file mode 100644 index b3cd16cdd6955cfa91c8f2512197894c8275f0f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 zcmeI3dyHIF9mj74g1-~N_lJW7!gK=X_$yW*Rv=a&Rv=a&Rv=a&Rv=a& zRv=a&Rv=a&R^b1jfR#54c}BlnUI1YK56}OvoNXAtf~VmrcoLp~d%%Gy_&B`v0mFC^ zo`;{qbMP!2h5~GacUBw5Yw!qs9S*`GRG|zd*b9>|0R!;Yvkc>9cpAP5dFX=#{Ps-4 zxE&6F1*5PDvT#0}2WP?Qa2lKne>lT1o`Hwqi?9vOg_B_w81TE(4dVy!ZMX+)$ivm} zF?jnl>I;8@r{GC=5IzsLLmoE3dbkMQIhA_D^YBafE*ykw;Tjl*)$sEB4dX9x1Re(; z*28761`^Nz?twOmoz_ud!Yhln1<`&Iv9aBxTyIdd<(t|hv2ht zF?MN?R3NdfFVzyQgmy3dDy0(?Ss#vn8mMXbKubHwJ zt#Y-*gO37^UaIU=EVEkK)7xjr2Oo)^am#m$i^6v{)d~gM?MaG4t&;PLP9>AHX5L}80%v*NhrM6sL{ zxp{Ncsd&Cs@jY|f#P;!-t=W1Mm20<@hqEJt=HN)Czkg(8U3w@zSdS)U>69DA>5^S@ zM$TS})+j|#S>+n!K{8VAEoEzuo#<)PI_DHCS@Y)Vo~WplC`r|`$SPzxj+H>BO9Fjj zU(kX|#b_2S?bh5%KX5YpOu6o$!MBAN(gp_DE4MMg1sk#24%R%Mas-OdO zXd5Dj$;jBPEz_)DpJ|t?{*vq_zFV`K!Z(*Q=adpzS;TZQoy;UrsF8Ae$czq2xFBSQ zDwtzSc48nouuP^dx~wcy8S=O?Z4-tPHip(Z)&A0n9$viFPOM9gD5tPZ>+M$`jl*G- zwx$|NO22M$spO?xLkzd>?cJJ)T`xgnqz|pQ2#we$Q2s{bJ+{y2mOZz>vpSv*knAT& zt&+D3#fqKpTFOjP&f(pJl1;1zNq=%MoeqYmY$BaWM!Cvf*>FpfF%I3P0Xc@qP_3@v z$hLAh+w&Z^)5z{PuNZ5>0G;lO3bx{?$BwmZh?YF-bA77_%z7U4LC$yF z4ig+Q=n2l(`w7`%{8SyXnlbZ^pQy@FJE(_*Z&E$&PCkScA}Olb#xR*=@%0mOwFw)m znrZcARvS{2sBijn^aL*v?tMgp^)(P)r<5^O!8!j@!;b*xq@ZO9&MFst3EQN34-ODR9?aQl(2^T^lMqBqNYAVGi$x5wMQh&*4(JXxS#WaCjG74VQqu}8z z&;KT8>VJSd|0mSB&M;o$Y%kCM&%!eh-T^$w?+4&+n1yM$0pwl4+3+^!eR(JFPxvGJ z488~7fCFH`Cb$GnfxmIq|0*1UJ3-z9@J!iQ1D}8%xEM}`*C^wwL0Mms<&8hF0Dxyfawq+l&04W~?y5L0=t9rO}C#A%+`$n3bL!-J%x*Bwelf zJBXd=nR3eVFu3S*{KN9FB-UImvivAG6`z|oSKh`aMf7W$>x`uExVo^{tO;_S?lTLH zJ7(qP>K9E3nS!+C$h?K^(tSgjf2?Oe54MaN=5m>;K*T(?VP!GJ{+|%JV;FVPg`zt~~$W z6^xxlm z;NRH#{{=6=5qKQ#fxF=V+y?vLR`?8@1#g~?eI1T~d>imNSb}+|fe)kbI(Gj*!xL~H z%!3U#!8F_eDUk00egTJJ1YX0w{{lP=2f=|k$iYo812@6|oCB|8?|%t?43EOY@DLPX z4s6K76>t$8rIG&*&%yn0818@t@WBHYCg2?S4Q~N%gIV|#^uZbMD*fbncnt0a2UOn) z`c1d)wn1cu>2968v#K`^42*R5-XI2sx_D=FUrwvLV3~Y#SC`)8o$cbCRn!)!f&f`5Tq$`;6?($E%pwb&cy7^cFtF?6m}2D zIiG9sq!<{HzlPIH^ZRmhTvOYn%S7*dZ+M&BG-tJ664##wL@!b8E)N4bM^_I6+M;vC ztS75ct2{MVEXV~boX;W;I`lQTXD+x!-==O#iD2?-o4NvrW`k_q!ZHG-@m3Ln=y6@76nTQ+DI_1s(_hM+wL{M?Bx& z&by5uiFSD#k7Tf<^P<5+9wHw@A8nao*HE{97p#&e&EJAgV@RMjE?TORW96e#NgIK{ zS1pMxHQtP@ood~1?_6`;)1%R_3OWOYjbln!MX`WOOdl!?en&ow|z#|xHK(H$$gR86yUPBr)m_FSq{ zuTZ^rH(mxX^7V4j)NvR9b@M;-LZ|NEwy8Uw`5-c%HH6o5p4=s3rjeU^+P5qp#dUqs z_TCWYcsrohK}(?2P&&w`f1P`WRv~P^mN!MZ$rl}$#kBD#L$)X#Lp#qF{e_}uUyF&9 zSsnv2|LP}mat2dj8Y7eaHs(LxhshUMBq75F?=0kEs(OlyCf%2fmFW^IV&HGeORHiw z3cH*b;R+spH%37FUS2DdFBS?sKdV*zZBFHS+jZnwFzon31m5a(+NWJ>NgZ|MgGnTi zALVb&dYef`O@Yx@hf)t2piPhHFynVPDjUfLjmkt6O)u)I1V85SYMB{tMUNPli642x z7}Q^I8WT-gc5bTZtoA=z(hy3oHil}I`f6BTyp%gq>t!q07P4GiwQ+Q8W_07!=*G=s z>;`$l&~XhT`ny_NbSI8x-dUQaiLJ9X%{8RrOq9V=FVCb*+MPnQI5PQ0A4V`}&F~R% z<90*M&~h4PDQc;|%+o6sbGCYa)hro_=^dl&{sg4=AI}mI> Date: Tue, 8 Dec 2015 14:54:35 +0100 Subject: [PATCH 07/85] Implement getFrameAt getFrameAt takes the position of the video in milliseconds --- src/VideoCaptureWrap.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/VideoCaptureWrap.cc b/src/VideoCaptureWrap.cc index 8bfc453..e0d06c2 100755 --- a/src/VideoCaptureWrap.cc +++ b/src/VideoCaptureWrap.cc @@ -32,6 +32,7 @@ void VideoCaptureWrap::Init(Local target) { Nan::SetPrototypeMethod(ctor, "setWidth", SetWidth); Nan::SetPrototypeMethod(ctor, "setHeight", SetHeight); Nan::SetPrototypeMethod(ctor, "setPosition", SetPosition); + Nan::SetPrototypeMethod(ctor, "getFrameAt", GetFrameAt); Nan::SetPrototypeMethod(ctor, "close", Close); Nan::SetPrototypeMethod(ctor, "ReadSync", ReadSync); Nan::SetPrototypeMethod(ctor, "grab", Grab); @@ -121,6 +122,20 @@ NAN_METHOD(VideoCaptureWrap::SetPosition) { return; } +NAN_METHOD(VideoCaptureWrap::GetFrameAt) { + Nan::HandleScope scope; + VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); + + if(info.Length() != 1) + return; + + int pos = info[0]->IntegerValue(); + + v->cap.set(CV_CAP_PROP_POS_MSEC, pos); + + return; +} + NAN_METHOD(VideoCaptureWrap::Close) { Nan::HandleScope scope; VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); From 79aeeffb874b22565bef5c7fea4b32c27258a579 Mon Sep 17 00:00:00 2001 From: Jeff Long Date: Thu, 7 Jan 2016 11:09:05 -0600 Subject: [PATCH 08/85] Fix contours example in README `#findContours` needs to be called, not just referenced. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a967eae..69157e9 100755 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ functions for accessing, computing with, and altering the contours contained in See [relevant source code](src/Contours.cc) and [examples](examples/) ```javascript -var contours = im.findContours; +var contours = im.findContours(); // Count of contours in the Contours object contours.size(); From 9561b4f71074b69e2a5b475e4e069c57c95fc2b1 Mon Sep 17 00:00:00 2001 From: cascade256 <128hi256@gmail.com> Date: Thu, 7 Jan 2016 22:01:29 -0800 Subject: [PATCH 09/85] Simplify Windows building --- binding.gyp | 8 +-- src/OpenCV.h | 10 ++++ utils/find-opencv.js | 115 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 utils/find-opencv.js diff --git a/binding.gyp b/binding.gyp index 8cd66bf..8cde338 100755 --- a/binding.gyp +++ b/binding.gyp @@ -24,12 +24,12 @@ ], "libraries": [ - "= 2.4.9\" )", "-Wall" ], + "defines": [ + "WIN" + ], "msvs_settings": { "VCCLCompilerTool": { "ExceptionHandling": "2", diff --git a/src/OpenCV.h b/src/OpenCV.h index 0d8eb90..0bb2b96 100755 --- a/src/OpenCV.h +++ b/src/OpenCV.h @@ -1,6 +1,16 @@ #ifndef __NODE_OPENCV_H__ #define __NODE_OPENCV_H__ +#ifdef WIN + /* + This is needed on Windows for Visual Studio to not throw an error in the + build/include/opencv2/flann/any.h file in OpenCV. + */ + namespace std{ typedef type_info type_info; } +#endif + + + #include #include #include diff --git a/utils/find-opencv.js b/utils/find-opencv.js new file mode 100644 index 0000000..c9a700a --- /dev/null +++ b/utils/find-opencv.js @@ -0,0 +1,115 @@ +var exec = require("child_process").exec; +var fs = require("fs"); +var flag = process.argv[2]; + +function main(){ + + //Try using pkg-config, but if it fails and it is on Windows, try the fallback + exec("pkg-config opencv " + flag, function(error, stdout, stderr){ + if(error){ + if(process.platform === "win32"){ + fallback(); + } + } + else{ + console.log(stdout); + } + }); +} + +//======================Windows Specific======================================= + +function fallback(){ + exec("echo %OPENCV_DIR%", function(error, stdout, stderr){ + stdout = cleanupEchoOutput(stdout); + if(error){ + console.log("ERROR: There was an error reading OPENCV_DIR"); + } + else if(stdout === "%OPENCV_DIR%") { + console.log("ERROR: OPENCV_DIR doesn't seem to be defined"); + } + else { + getVisualStudioVersion(function(version){ + getProcessArch(function(bits){ + printPaths(stdout, version, bits); + }); + }); + } + }); +} + +function printPaths(opencvPath, version, bits){ + if(flag === "--cflags") { + console.log("\"" + opencvPath + "include\""); + console.log("\"" + opencvPath + "include\\opencv\""); + } + else if(flag === "--libs") { + var libPath = opencvPath + bits + "\\vc" + version + "\\lib\\"; + + fs.readdir(libPath, function(err, files){ + if(err){ + console.log("ERROR: couldn't read the lib directory"); + console.log(err); + } + + var libs = ""; + for(var i = 0; i < files.length; i++){ + if(getExtension(files[i]) === "lib"){ + libs = libs + " \"" + libPath + files[i] + "\" \r\n "; + } + } + console.log(libs); + }); + } + else { + console.log("Error: unknown argument '" + flag + "'"); + } +} + +//This gets the architecture of the NodeJS that is running this script, +//either x86 or x64 +function getProcessArch(cb){ + exec("echo %PROCESSOR_ARCHITECTURE%", function(error, stdout, stderr) { + if(!error) { + var arch = cleanupEchoOutput(stdout); + if(arch === "AMD64"){ + cb("x64"); + } + else if(arch === "x86"){ + cb("x86"); + } + else { + console.log("ERROR: Unrecognized architecture"); + } + } + else { + console.log("ERROR: There was an error getting the architecture"); + } + }); +} + +function getVisualStudioVersion(cb, version){ + if(typeof(version) === "undefined") version = 11; + exec("reg query HKEY_CLASSES_ROOT\\VisualStudio.DTE." + version + ".0", + function(error, stdout, stderr){ + if(!error){ + cb(version); + } + else if(version < 13) { + //Try the next version + getVisualStudioVersion(cb, version + 1); + } + else { + console.log("ERROR: Can't find Visual Studio"); + } + }); +} + +function cleanupEchoOutput(s){ + return s.slice(0, s.length - 2); +} + +function getExtension(s){ + return s.substr(s.lastIndexOf(".") + 1); +} +main(); From 9fd5d28f6a72b5469719f4f5ac583466f3dba705 Mon Sep 17 00:00:00 2001 From: cascade256 <128hi256@gmail.com> Date: Thu, 7 Jan 2016 22:05:04 -0800 Subject: [PATCH 10/85] Adjusted the README so the Windows instructions are accurate --- README.md | 47 +++++++++++++++-------------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index a967eae..1311633 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# node-opencv +# node-opencv [![Build Status](https://secure.travis-ci.org/peterbraden/node-opencv.png)](http://travis-ci.org/peterbraden/node-opencv) @@ -16,41 +16,25 @@ cool, I'd love to hear about it! You'll need OpenCV 2.3.1 or newer installed before installing node-opencv. ## Specific for Windows -1. Download Install opencv @ - (I used version 2.4.4) +1. Download and install opencv (Be sure to use a 2.4 version) @ http://opencv.org/downloads.html -Put it in c:\opencv +For these instructions we will assume OpenCV is put at C:\OpenCV, but you can +adjust accordingly. -2. Install python version 2.7 @ -http://www.python.org/download/releases/2.7/ -put it in c:\python27 +2. Add the following to your PATH variable + C:\OpenCV\build\x64\vc12\bin; + The "x64" needs to match the version of NodeJS you are using. -3. install pkg-config by downloading the all in one bundle @ - (I used Gtk+ 3.6.4) -http://www.gtk.org/download/win64.php -put it in c:\pkg-config + Also set OPENCV_DIR to C:\OpenCV\build -4. Add the following to your path variables -C:\pkg-config\bin;C:\OpenCV\build\x64\vc11\bin; +3. Install Visual Studio 2013. Make sure to get the C++ components. + You can use a different edition, just make sure OpenCV supports it, and you + set the "vcxx" part of the variables above to match. -5. Install visual-studio in 4 steps - - - install Visual C++ 2010 Express - - - install Windows SDK for windows 7 and .net framework 4 - - - install Visual Studio 2010 Service Pack 1 - - - install Visual C++ 2010 Service Pack 1 Compiler - - -6. Download npeterbraden/node-opencv fork +4. Download peterbraden/node-opencv fork git clone https://github.com/peterbraden/node-opencv -7. edit file src/Matrix.cpp -put "inline double round( double d ) { return floor( d + 0.5);}" below "cv::Rect* setRect(Local objRect, cv::Rect &result);" - -8. run npm install - -Then: +5. run npm install ```bash $ npm install opencv @@ -175,8 +159,8 @@ im.line([x1,y1], [x2, y2]) #### Object Detection -There is a shortcut method for -[Viola-Jones Haar Cascade](http://www.cognotics.com/opencv/servo_2007_series/part_2/sidebar.html) object +There is a shortcut method for +[Viola-Jones Haar Cascade](http://www.cognotics.com/opencv/servo_2007_series/part_2/sidebar.html) object detection. This can be used for face detection etc. ```javascript @@ -239,4 +223,3 @@ contours.convexHull(index, clockwise); ## MIT License The library is distributed under the MIT License - if for some reason that doesn't work for you please get in touch. - From 56f27f9e2350525cfc0ef74b7b78a1809efb8c65 Mon Sep 17 00:00:00 2001 From: cascade256 <128hi256@gmail.com> Date: Sat, 9 Jan 2016 23:03:35 -0800 Subject: [PATCH 11/85] Make the use of OPENCV_DIR on Windows match that of the OpenCV docs --- README.md | 12 ++++---- utils/find-opencv.js | 66 ++++++++------------------------------------ 2 files changed, 19 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 1311633..7755bd5 100755 --- a/README.md +++ b/README.md @@ -16,16 +16,18 @@ cool, I'd love to hear about it! You'll need OpenCV 2.3.1 or newer installed before installing node-opencv. ## Specific for Windows -1. Download and install opencv (Be sure to use a 2.4 version) @ +1. Download and install OpenCV (Be sure to use a 2.4 version) @ http://opencv.org/downloads.html For these instructions we will assume OpenCV is put at C:\OpenCV, but you can adjust accordingly. -2. Add the following to your PATH variable - C:\OpenCV\build\x64\vc12\bin; - The "x64" needs to match the version of NodeJS you are using. +2. If you haven't already, create a system variable called OPENCV_DIR and set it + to C:\OpenCV\build\x64\vc12 - Also set OPENCV_DIR to C:\OpenCV\build + Make sure the "x64" part matches the version of NodeJS you are using. + + Also add the following to your system PATH + ;%OPENCV_DIR%\bin 3. Install Visual Studio 2013. Make sure to get the C++ components. You can use a different edition, just make sure OpenCV supports it, and you diff --git a/utils/find-opencv.js b/utils/find-opencv.js index c9a700a..fd343a2 100644 --- a/utils/find-opencv.js +++ b/utils/find-opencv.js @@ -3,13 +3,15 @@ var fs = require("fs"); var flag = process.argv[2]; function main(){ - //Try using pkg-config, but if it fails and it is on Windows, try the fallback exec("pkg-config opencv " + flag, function(error, stdout, stderr){ if(error){ if(process.platform === "win32"){ fallback(); } + else{ + throw new Error("ERROR: pkg-config couldn't find OpenCV"); + } } else{ console.log(stdout); @@ -23,33 +25,28 @@ function fallback(){ exec("echo %OPENCV_DIR%", function(error, stdout, stderr){ stdout = cleanupEchoOutput(stdout); if(error){ - console.log("ERROR: There was an error reading OPENCV_DIR"); + throw new Error("ERROR: There was an error reading OPENCV_DIR"); } else if(stdout === "%OPENCV_DIR%") { - console.log("ERROR: OPENCV_DIR doesn't seem to be defined"); + throw new Error("ERROR: OPENCV_DIR doesn't seem to be defined"); } else { - getVisualStudioVersion(function(version){ - getProcessArch(function(bits){ - printPaths(stdout, version, bits); - }); - }); + printPaths(stdout); } }); } -function printPaths(opencvPath, version, bits){ +function printPaths(opencvPath){ if(flag === "--cflags") { - console.log("\"" + opencvPath + "include\""); - console.log("\"" + opencvPath + "include\\opencv\""); + console.log("\"" + opencvPath + "\\..\\..\\include\""); + console.log("\"" + opencvPath + "\\..\\..\\include\\opencv\""); } else if(flag === "--libs") { - var libPath = opencvPath + bits + "\\vc" + version + "\\lib\\"; + var libPath = opencvPath + "\\lib\\"; fs.readdir(libPath, function(err, files){ if(err){ - console.log("ERROR: couldn't read the lib directory"); - console.log(err); + throw new Error("ERROR: couldn't read the lib directory " + err); } var libs = ""; @@ -62,49 +59,10 @@ function printPaths(opencvPath, version, bits){ }); } else { - console.log("Error: unknown argument '" + flag + "'"); + throw new Error("Error: unknown argument '" + flag + "'"); } } -//This gets the architecture of the NodeJS that is running this script, -//either x86 or x64 -function getProcessArch(cb){ - exec("echo %PROCESSOR_ARCHITECTURE%", function(error, stdout, stderr) { - if(!error) { - var arch = cleanupEchoOutput(stdout); - if(arch === "AMD64"){ - cb("x64"); - } - else if(arch === "x86"){ - cb("x86"); - } - else { - console.log("ERROR: Unrecognized architecture"); - } - } - else { - console.log("ERROR: There was an error getting the architecture"); - } - }); -} - -function getVisualStudioVersion(cb, version){ - if(typeof(version) === "undefined") version = 11; - exec("reg query HKEY_CLASSES_ROOT\\VisualStudio.DTE." + version + ".0", - function(error, stdout, stderr){ - if(!error){ - cb(version); - } - else if(version < 13) { - //Try the next version - getVisualStudioVersion(cb, version + 1); - } - else { - console.log("ERROR: Can't find Visual Studio"); - } - }); -} - function cleanupEchoOutput(s){ return s.slice(0, s.length - 2); } From c4573104976b90ea7591ee1ee160b325c302695d Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Wed, 20 Jan 2016 20:42:41 -0800 Subject: [PATCH 12/85] Define a native interface for unwrapping the cv:Mat from a Matrix object --- inc/Matrix.h | 28 ++++++++++++++++++++++++++++ include_dirs.js | 14 ++++++++++++++ src/Matrix.cc | 8 ++++---- src/Matrix.h | 6 +++--- 4 files changed, 49 insertions(+), 7 deletions(-) create mode 100755 inc/Matrix.h create mode 100644 include_dirs.js diff --git a/inc/Matrix.h b/inc/Matrix.h new file mode 100755 index 0000000..beed998 --- /dev/null +++ b/inc/Matrix.h @@ -0,0 +1,28 @@ +/* + This file defines the public native interface into an node-opencv Matrix + object. This is used to retrieve the wrapped OpenCV cv:Mat object from other + native code: + + NAN_METHOD(UnwrapMatrix) { + cv::Mat mat = Nan::ObjectWrap::Unwrap(info[0]->ToObject())->mat; + // ... + } + + */ +#ifndef NODE_OPENCV_MATRIX_H +#define NODE_OPENCV_MATRIX_H +#include +#include + +namespace node_opencv { + +class Matrix: public Nan::ObjectWrap { +public: + cv::Mat mat; +protected: + Matrix(): Nan::ObjectWrap() {}; +}; + +} + +#endif // NODE_OPENCV_MATRIX_H diff --git a/include_dirs.js b/include_dirs.js new file mode 100644 index 0000000..8d72392 --- /dev/null +++ b/include_dirs.js @@ -0,0 +1,14 @@ +// Outputs the path to public node-opencv header files. This is used when +// building other native node modules that require access to the +// node-opencv Matrix base class. +// +// To use this file, add something like the following to your binding.gyp: +// +// "include_dirs": [ +// " constructor; static void Init(Local target); static NAN_METHOD(New); From 7c3784209415058306d51204ebb17f46d7615bb5 Mon Sep 17 00:00:00 2001 From: punnerud Date: Mon, 25 Jan 2016 16:18:28 +0100 Subject: [PATCH 13/85] Update addweighted.js Corrected the example and tmp-path --- examples/addweighted.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/addweighted.js b/examples/addweighted.js index ac6c309..dc9379f 100755 --- a/examples/addweighted.js +++ b/examples/addweighted.js @@ -1,14 +1,14 @@ var cv = require('../lib/opencv'); -cv.readImage("./examples/files/mona.png", function(err, orig) { +cv.readImage("./files/mona.png", function(err, orig) { if (err) throw err; - cv.readImage("./examples/files/over_text.png", function(err, over_text) { + cv.readImage("./files/over_text.png", function(err, over_text) { if (err) throw err; var result = new cv.Matrix(orig.width(), orig.height()); result.addWeighted(orig, 0.7, over_text, 0.9); - result.save("./examples/tmp/weighted.png"); - console.log('Image saved to ./examples/tmp/weighted.png'); + result.save("./tmp/weighted.png"); + console.log('Image saved to ./tmp/weighted.png'); }); }); From 38d19a62369c16a27c8167580ae41fa3a05f1eef Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Wed, 27 Jan 2016 22:50:00 -0800 Subject: [PATCH 14/85] Add test for inc/Matrix.h --- binding.gyp | 57 +++++++++++++++++++++++++++++++++++++++++++++++ test/nativemat.cc | 20 +++++++++++++++++ test/unit.js | 10 +++++++++ 3 files changed, 87 insertions(+) create mode 100644 test/nativemat.cc diff --git a/binding.gyp b/binding.gyp index 8cde338..240f8d1 100755 --- a/binding.gyp +++ b/binding.gyp @@ -72,6 +72,63 @@ }] ] }, + { + "target_name": "test_nativemat", + + "sources": [ + "test/nativemat.cc", + ], + + "libraries": [ + "= 2.3.1\" )", + "-Wall" + ] + }], + [ "OS==\"win\"", { + "cflags": [ + "-Wall" + ], + "defines": [ + "WIN" + ], + "msvs_settings": { + "VCCLCompilerTool": { + "ExceptionHandling": "2", + "DisableSpecificWarnings": [ "4530", "4506", "4244" ], + }, + } + }], + [ # cflags on OS X are stupid and have to be defined like this + "OS==\"mac\"", { + "xcode_settings": { + "OTHER_CFLAGS": [ + "-mmacosx-version-min=10.7", + "-std=c++11", + "-stdlib=libc++", + " +#include + +void Size(const Nan::FunctionCallbackInfo& info) { + // Unwrap the node-opencv Matrix object into a normal cv::Mat + cv::Mat mat = Nan::ObjectWrap::Unwrap(info[0]->ToObject())->mat; + + v8::Local < v8::Array > arr = Nan::New(2); + arr->Set(0, Nan::New(mat.size().height)); + arr->Set(1, Nan::New(mat.size().width)); + + info.GetReturnValue().Set(arr); +} + +void Init(v8::Local exports) { + exports->Set(Nan::New("size").ToLocalChecked(), + Nan::New(Size)->GetFunction()); +} + +NODE_MODULE(test_nativemat, Init) diff --git a/test/unit.js b/test/unit.js index b271ec4..8cd5ea4 100755 --- a/test/unit.js +++ b/test/unit.js @@ -326,6 +326,16 @@ test('LDA Wrap', function(assert) { assert.end(); }) + +test('Native Matrix', function(assert) { + var nativemat = require('../build/Release/test_nativemat.node'); + var mat = new cv.Matrix(42, 8); + + assert.deepEqual(mat.size(), nativemat.size(mat), 'nativemat'); + assert.end(); +}) + + // Test the examples folder. require('./examples')() From 4cdc6793580ecf7b545bfdde7977331408c645ef Mon Sep 17 00:00:00 2001 From: Peter Braden Date: Thu, 4 Feb 2016 14:33:05 +0100 Subject: [PATCH 15/85] Addresses #354 --- binding.gyp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/binding.gyp b/binding.gyp index 240f8d1..b89d3e0 100755 --- a/binding.gyp +++ b/binding.gyp @@ -37,7 +37,7 @@ "cflags_cc!": [ "-fno-rtti", "-fno-exceptions"], "conditions": [ - [ "OS==\"linux\"", { + [ "OS==\"linux\" or OS==\"freebsd\" or OS==\"openbsd\" or OS==\"solaris\" or OS==\"aix\"", { "cflags": [ "= 2.3.1\" )", "-Wall" From cf8d9143f85f23139ebb5002cabc300bb6d57377 Mon Sep 17 00:00:00 2001 From: Mikhail Sirotenko Date: Sun, 7 Feb 2016 01:56:27 +0000 Subject: [PATCH 16/85] Added NumFrames method to VideoCapture --- src/VideoCaptureWrap.cc | 10 ++++++++++ src/VideoCaptureWrap.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/VideoCaptureWrap.cc b/src/VideoCaptureWrap.cc index e0d06c2..12b0afc 100755 --- a/src/VideoCaptureWrap.cc +++ b/src/VideoCaptureWrap.cc @@ -33,6 +33,7 @@ void VideoCaptureWrap::Init(Local target) { Nan::SetPrototypeMethod(ctor, "setHeight", SetHeight); Nan::SetPrototypeMethod(ctor, "setPosition", SetPosition); Nan::SetPrototypeMethod(ctor, "getFrameAt", GetFrameAt); + Nan::SetPrototypeMethod(ctor, "nFrames", NumFrames); Nan::SetPrototypeMethod(ctor, "close", Close); Nan::SetPrototypeMethod(ctor, "ReadSync", ReadSync); Nan::SetPrototypeMethod(ctor, "grab", Grab); @@ -94,6 +95,15 @@ NAN_METHOD(VideoCaptureWrap::SetWidth) { return; } +NAN_METHOD(VideoCaptureWrap::NumFrames) { + Nan::HandleScope scope; + VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); + + int cnt = int(v->cap.get(CV_CAP_PROP_FRAME_COUNT)); + + info.GetReturnValue().Set(Nan::New(cnt)); +} + NAN_METHOD(VideoCaptureWrap::SetHeight) { Nan::HandleScope scope; VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); diff --git a/src/VideoCaptureWrap.h b/src/VideoCaptureWrap.h index 3cb5a04..1fbb3bf 100755 --- a/src/VideoCaptureWrap.h +++ b/src/VideoCaptureWrap.h @@ -23,6 +23,7 @@ public: // to set frame position static NAN_METHOD(SetPosition); + static NAN_METHOD(NumFrames); static NAN_METHOD(GetFrameAt); From a45139326d6012c40912fefa7e2450181b1047d5 Mon Sep 17 00:00:00 2001 From: Mikhail Sirotenko Date: Sun, 7 Feb 2016 09:31:29 -0500 Subject: [PATCH 17/85] Renamed numFrame method to correspond to OpenCV naming --- src/VideoCaptureWrap.cc | 4 ++-- src/VideoCaptureWrap.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/VideoCaptureWrap.cc b/src/VideoCaptureWrap.cc index 12b0afc..6ea7b13 100755 --- a/src/VideoCaptureWrap.cc +++ b/src/VideoCaptureWrap.cc @@ -33,7 +33,7 @@ void VideoCaptureWrap::Init(Local target) { Nan::SetPrototypeMethod(ctor, "setHeight", SetHeight); Nan::SetPrototypeMethod(ctor, "setPosition", SetPosition); Nan::SetPrototypeMethod(ctor, "getFrameAt", GetFrameAt); - Nan::SetPrototypeMethod(ctor, "nFrames", NumFrames); + Nan::SetPrototypeMethod(ctor, "getFrameCount", GetFrameCount); Nan::SetPrototypeMethod(ctor, "close", Close); Nan::SetPrototypeMethod(ctor, "ReadSync", ReadSync); Nan::SetPrototypeMethod(ctor, "grab", Grab); @@ -95,7 +95,7 @@ NAN_METHOD(VideoCaptureWrap::SetWidth) { return; } -NAN_METHOD(VideoCaptureWrap::NumFrames) { +NAN_METHOD(VideoCaptureWrap::GetFrameCount) { Nan::HandleScope scope; VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); diff --git a/src/VideoCaptureWrap.h b/src/VideoCaptureWrap.h index 1fbb3bf..bf28790 100755 --- a/src/VideoCaptureWrap.h +++ b/src/VideoCaptureWrap.h @@ -23,7 +23,7 @@ public: // to set frame position static NAN_METHOD(SetPosition); - static NAN_METHOD(NumFrames); + static NAN_METHOD(GetFrameCount); static NAN_METHOD(GetFrameAt); From 2a81f236c50a6fd5bca7ba6f7a0551ba04bef591 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Sun, 7 Feb 2016 09:49:43 -0800 Subject: [PATCH 18/85] Base OpenCV 3 port --- README.md | 3 ++- binding.gyp | 10 +++++----- examples/dissimilarity.js | 5 +++++ src/BackgroundSubtractor.cc | 6 +++++- src/BackgroundSubtractor.h | 2 +- src/Calib3D.h | 4 ++++ src/CamShift.cc | 3 +++ src/CascadeClassifierWrap.h | 3 +++ src/FaceRecognizer.cc | 6 +++++- src/FaceRecognizer.h | 2 +- src/Features2d.cc | 5 +++-- src/Features2d.h | 2 +- src/LDAWrap.cc | 7 +++++-- src/LDAWrap.h | 2 +- src/OpenCV.h | 5 +++++ src/Stereo.cc | 9 +++++++++ src/Stereo.h | 3 +++ src/init.cc | 9 ++++++--- test/unit.js | 6 ++++++ utils/find-opencv.js | 14 +++++++++++--- 20 files changed, 84 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 653ffec..6bf0720 100755 --- a/README.md +++ b/README.md @@ -13,7 +13,8 @@ cool, I'd love to hear about it! ## Install -You'll need OpenCV 2.3.1 or newer installed before installing node-opencv. +You'll need OpenCV 2.3.1 or newer installed before installing node-opencv. Note +that OpenCV 3.x is not yet fully supported. ## Specific for Windows 1. Download and install OpenCV (Be sure to use a 2.4 version) @ diff --git a/binding.gyp b/binding.gyp index b89d3e0..1d5e1c3 100755 --- a/binding.gyp +++ b/binding.gyp @@ -39,7 +39,7 @@ "conditions": [ [ "OS==\"linux\" or OS==\"freebsd\" or OS==\"openbsd\" or OS==\"solaris\" or OS==\"aix\"", { "cflags": [ - "= 2.3.1\" )", + "= 2.3.1\" )", + " #include -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4)) +#if CV_MAJOR_VERSION >= 3 +#warning TODO: port me to OpenCV 3 +#endif + +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4)) Nan::Persistent BackgroundSubtractorWrap::constructor; diff --git a/src/BackgroundSubtractor.h b/src/BackgroundSubtractor.h index 551d212..d661e33 100644 --- a/src/BackgroundSubtractor.h +++ b/src/BackgroundSubtractor.h @@ -1,6 +1,6 @@ #include "OpenCV.h" -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4)) +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4)) #include diff --git a/src/Calib3D.h b/src/Calib3D.h index 7d94943..a1846c8 100644 --- a/src/Calib3D.h +++ b/src/Calib3D.h @@ -3,6 +3,10 @@ #include "OpenCV.h" +#if CV_MAJOR_VERSION >= 3 +#include +#endif + /** * Implementation of calib3d.hpp functions */ diff --git a/src/CamShift.cc b/src/CamShift.cc index fed246a..bcf00ce 100644 --- a/src/CamShift.cc +++ b/src/CamShift.cc @@ -2,6 +2,9 @@ #include "OpenCV.h" #include "Matrix.h" +#if CV_MAJOR_VERSION >= 3 +#include +#endif #define CHANNEL_HUE 0 #define CHANNEL_SATURATION 1 diff --git a/src/CascadeClassifierWrap.h b/src/CascadeClassifierWrap.h index 0f80ba1..d21c370 100755 --- a/src/CascadeClassifierWrap.h +++ b/src/CascadeClassifierWrap.h @@ -1,4 +1,7 @@ #include "OpenCV.h" +#if CV_MAJOR_VERSION >= 3 +#include +#endif class CascadeClassifierWrap: public Nan::ObjectWrap { public: diff --git a/src/FaceRecognizer.cc b/src/FaceRecognizer.cc index 9a2dd69..47823c5 100644 --- a/src/FaceRecognizer.cc +++ b/src/FaceRecognizer.cc @@ -1,7 +1,11 @@ #include "FaceRecognizer.h" #include "OpenCV.h" -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) +#if CV_MAJOR_VERSION >= 3 +#warning TODO: port me to OpenCV 3 +#endif + +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) #include "Matrix.h" #include diff --git a/src/FaceRecognizer.h b/src/FaceRecognizer.h index 3afbf76..0224c28 100644 --- a/src/FaceRecognizer.h +++ b/src/FaceRecognizer.h @@ -1,6 +1,6 @@ #include "OpenCV.h" -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4)) +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) #include "opencv2/contrib/contrib.hpp" diff --git a/src/Features2d.cc b/src/Features2d.cc index 596ce98..fa8f1cb 100644 --- a/src/Features2d.cc +++ b/src/Features2d.cc @@ -1,10 +1,11 @@ +#include "OpenCV.h" + +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4)) #include "Features2d.h" #include "Matrix.h" #include #include -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4)) - void Features::Init(Local target) { Nan::HandleScope scope; diff --git a/src/Features2d.h b/src/Features2d.h index 6ae2b21..e793f86 100644 --- a/src/Features2d.h +++ b/src/Features2d.h @@ -1,6 +1,6 @@ #include "OpenCV.h" -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4)) +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4)) #include #include diff --git a/src/LDAWrap.cc b/src/LDAWrap.cc index c155bd2..b787dbf 100644 --- a/src/LDAWrap.cc +++ b/src/LDAWrap.cc @@ -1,8 +1,11 @@ -#include "LDAWrap.h" #include "OpenCV.h" -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) +#if CV_MAJOR_VERSION >= 3 +#warning TODO: port me to OpenCV 3 +#endif +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) +#include "LDAWrap.h" #include "Matrix.h" #include diff --git a/src/LDAWrap.h b/src/LDAWrap.h index 2c47cba..44671d3 100644 --- a/src/LDAWrap.h +++ b/src/LDAWrap.h @@ -1,6 +1,6 @@ #include "OpenCV.h" -#if ((CV_MAJOR_VERSION >= 2) && (CV_MINOR_VERSION >=4)) +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4)) #include "opencv2/contrib/contrib.hpp" diff --git a/src/OpenCV.h b/src/OpenCV.h index 0bb2b96..9eab257 100755 --- a/src/OpenCV.h +++ b/src/OpenCV.h @@ -18,6 +18,11 @@ #include #include #include +#if CV_MAJOR_VERSION >= 3 +#include +#include +#include +#endif #include #include diff --git a/src/Stereo.cc b/src/Stereo.cc index f8d1c11..7831b66 100644 --- a/src/Stereo.cc +++ b/src/Stereo.cc @@ -1,4 +1,11 @@ + #include "Stereo.h" + +#if CV_MAJOR_VERSION >= 3 +#warning TODO: port me to OpenCV 3 +#endif + +#if CV_MAJOR_VERSION < 3 #include "Matrix.h" #include @@ -312,3 +319,5 @@ NAN_METHOD(StereoGC::Compute) { return; } } + +#endif diff --git a/src/Stereo.h b/src/Stereo.h index fbbdb58..08fdaf0 100644 --- a/src/Stereo.h +++ b/src/Stereo.h @@ -3,6 +3,8 @@ #include "OpenCV.h" +#if CV_MAJOR_VERSION < 3 + class StereoBM: public Nan::ObjectWrap { public: cv::StereoBM stereo; @@ -51,3 +53,4 @@ public: }; #endif +#endif // __NODE_STEREO_H diff --git a/src/init.cc b/src/init.cc index a3af3be..75cb397 100755 --- a/src/init.cc +++ b/src/init.cc @@ -30,15 +30,18 @@ extern "C" void init(Local target) { Constants::Init(target); Calib3D::Init(target); ImgProc::Init(target); +#if CV_MAJOR_VERSION < 3 StereoBM::Init(target); StereoSGBM::Init(target); StereoGC::Init(target); - -#if CV_MAJOR_VERSION >= 2 && CV_MINOR_VERSION >=4 +#if CV_MAJOR_VERSION == 2 && CV_MINOR_VERSION >=4 BackgroundSubtractorWrap::Init(target); Features::Init(target); - FaceRecognizerWrap::Init(target); LDAWrap::Init(target); +#if CV_SUBMINOR_VERSION>=4 + FaceRecognizerWrap::Init(target); +#endif +#endif #endif }; diff --git a/test/unit.js b/test/unit.js index 8cd5ea4..fa82735 100755 --- a/test/unit.js +++ b/test/unit.js @@ -315,6 +315,12 @@ test("fonts", function(t) { }) test('LDA Wrap', function(assert) { + if (cv.LDA === undefined) { + console.log('TODO: Please port LDAWrap.cc to OpenCV 3') + assert.end(); + return; + } + // subspaceProject var mat = cv.LDA.subspaceProject(new cv.Matrix(1, 2, cv.Constants.CV_64F), new cv.Matrix(), new cv.Matrix(2, 1, cv.Constants.CV_8UC1)); assert.deepEqual(mat.size(), [2,2], 'subspaceProject'); diff --git a/utils/find-opencv.js b/utils/find-opencv.js index fd343a2..c3731ad 100644 --- a/utils/find-opencv.js +++ b/utils/find-opencv.js @@ -1,16 +1,24 @@ +"use strict"; + var exec = require("child_process").exec; var fs = require("fs"); -var flag = process.argv[2]; +var flag = process.argv[2] || "--exists"; + +// Normally |pkg-config opencv ...| could report either OpenCV 2.x or OpenCV 3.y +// depending on what is installed. To enable both 2.x and 3.y to co-exist on +// the same machine, the opencv.pc for 3.y can be installed as opencv3.pc and +// then selected by |export PKG_CONFIG_OPENCV3=1| before building node-opencv. +var opencv = process.env.PKG_CONFIG_OPENCV3 === "1" ? "opencv3" : '"opencv >= 2.3.1"'; function main(){ //Try using pkg-config, but if it fails and it is on Windows, try the fallback - exec("pkg-config opencv " + flag, function(error, stdout, stderr){ + exec("pkg-config " + opencv + " " + flag, function(error, stdout, stderr){ if(error){ if(process.platform === "win32"){ fallback(); } else{ - throw new Error("ERROR: pkg-config couldn't find OpenCV"); + throw new Error("ERROR: failed to run: pkg-config", opencv, flag); } } else{ From 5fb426aa1428b3d16e7fb0b1412f44410077382e Mon Sep 17 00:00:00 2001 From: Peter Braden Date: Tue, 9 Feb 2016 09:43:37 +0100 Subject: [PATCH 19/85] v5.0.0 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 699a4e6..cc95f42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,16 @@ # Changelog +## 5.0.0 (Feb 9 2016) + +- @mvines and @svogl started working on OpenCV 3.x support. +- @sirotenko added a getFrameCount method +- @vaceta implemented getFrameAt +- @jainanshul improved some methods +- @cascade256 improved the windows build + +Plus fixes from @banterability, @punnerud, @vargad etc. Thanks all. + ## 4.0.0 I've been super slow releasing this one, and there's a ton of new stuff. diff --git a/package.json b/package.json index cd735a3..0c3e7d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencv", - "version": "4.0.0", + "version": "5.0.0", "description": "Node Bindings to OpenCV", "author": "Peter Braden ", "dependencies": { From 48f18f55269b21d3618c30ac25b01ebf6341403b Mon Sep 17 00:00:00 2001 From: wenq1 Date: Thu, 11 Feb 2016 22:35:42 +0800 Subject: [PATCH 20/85] - add moments --- src/Matrix.cc | 26 ++++++++++++++++++++++++++ src/Matrix.h | 1 + 2 files changed, 27 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index 51525ff..2675fd5 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -70,6 +70,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "bitwiseNot", BitwiseNot); Nan::SetPrototypeMethod(ctor, "bitwiseAnd", BitwiseAnd); Nan::SetPrototypeMethod(ctor, "countNonZero", CountNonZero); + Nan::SetPrototypeMethod(ctor, "moments", Moments); Nan::SetPrototypeMethod(ctor, "canny", Canny); Nan::SetPrototypeMethod(ctor, "dilate", Dilate); Nan::SetPrototypeMethod(ctor, "erode", Erode); @@ -1354,6 +1355,31 @@ NAN_METHOD(Matrix::Split) { info.GetReturnValue().Set(Nan::Null()); } */ +NAN_METHOD(Matrix::Moments) { + Nan::HandleScope scope; + + Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); + + cv::Moments mo = moments( self->mat, false ); + + Local res = Nan::New(); + + res->Set(Nan::New("m00").ToLocalChecked(), Nan::New(mo.m00)); + res->Set(Nan::New("m10").ToLocalChecked(), Nan::New(mo.m10)); + res->Set(Nan::New("m01").ToLocalChecked(), Nan::New(mo.m01)); + res->Set(Nan::New("m11").ToLocalChecked(), Nan::New(mo.m11)); + + res->Set(Nan::New("mu20").ToLocalChecked(), Nan::New(mo.mu20)); + res->Set(Nan::New("mu11").ToLocalChecked(), Nan::New(mo.mu11)); + res->Set(Nan::New("mu02").ToLocalChecked(), Nan::New(mo.mu02)); + res->Set(Nan::New("mu30").ToLocalChecked(), Nan::New(mo.mu30)); + res->Set(Nan::New("mu21").ToLocalChecked(), Nan::New(mo.mu21)); + res->Set(Nan::New("mu12").ToLocalChecked(), Nan::New(mo.mu12)); + res->Set(Nan::New("mu03").ToLocalChecked(), Nan::New(mo.mu03)); + + info.GetReturnValue().Set(res); +} + NAN_METHOD(Matrix::Canny) { Nan::HandleScope scope; diff --git a/src/Matrix.h b/src/Matrix.h index 2d48a59..042c86d 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -74,6 +74,7 @@ public: JSFUNC(BitwiseAnd) JSFUNC(CountNonZero) //JSFUNC(Split) + JSFUNC(Moments) JSFUNC(Canny) JSFUNC(Dilate) JSFUNC(Erode) From fb6ac0ff30b959b010969fdb1996ea796e47ae17 Mon Sep 17 00:00:00 2001 From: wenq1 Date: Fri, 12 Feb 2016 14:58:13 +0800 Subject: [PATCH 21/85] - more work on mements for matrix --- src/Matrix.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index 2675fd5..5985a6d 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -1367,7 +1367,13 @@ NAN_METHOD(Matrix::Moments) { res->Set(Nan::New("m00").ToLocalChecked(), Nan::New(mo.m00)); res->Set(Nan::New("m10").ToLocalChecked(), Nan::New(mo.m10)); res->Set(Nan::New("m01").ToLocalChecked(), Nan::New(mo.m01)); + res->Set(Nan::New("m20").ToLocalChecked(), Nan::New(mo.m20)); res->Set(Nan::New("m11").ToLocalChecked(), Nan::New(mo.m11)); + res->Set(Nan::New("m02").ToLocalChecked(), Nan::New(mo.m02)); + res->Set(Nan::New("m30").ToLocalChecked(), Nan::New(mo.m30)); + res->Set(Nan::New("m21").ToLocalChecked(), Nan::New(mo.m21)); + res->Set(Nan::New("m12").ToLocalChecked(), Nan::New(mo.m12)); + res->Set(Nan::New("m03").ToLocalChecked(), Nan::New(mo.m03)); res->Set(Nan::New("mu20").ToLocalChecked(), Nan::New(mo.mu20)); res->Set(Nan::New("mu11").ToLocalChecked(), Nan::New(mo.mu11)); @@ -1377,6 +1383,14 @@ NAN_METHOD(Matrix::Moments) { res->Set(Nan::New("mu12").ToLocalChecked(), Nan::New(mo.mu12)); res->Set(Nan::New("mu03").ToLocalChecked(), Nan::New(mo.mu03)); + res->Set(Nan::New("nu20").ToLocalChecked(), Nan::New(mo.nu20)); + res->Set(Nan::New("nu11").ToLocalChecked(), Nan::New(mo.nu11)); + res->Set(Nan::New("nu02").ToLocalChecked(), Nan::New(mo.nu02)); + res->Set(Nan::New("nu30").ToLocalChecked(), Nan::New(mo.nu30)); + res->Set(Nan::New("nu21").ToLocalChecked(), Nan::New(mo.nu21)); + res->Set(Nan::New("nu12").ToLocalChecked(), Nan::New(mo.nu12)); + res->Set(Nan::New("nu03").ToLocalChecked(), Nan::New(mo.nu03)); + info.GetReturnValue().Set(res); } From 5d1860d1bf53785a007a2d65a8e32ac0ce84facf Mon Sep 17 00:00:00 2001 From: wenq1 Date: Fri, 12 Feb 2016 15:01:22 +0800 Subject: [PATCH 22/85] - add consts for contour finding --- src/Constants.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Constants.cc b/src/Constants.cc index f2bd76a..f492a2f 100644 --- a/src/Constants.cc +++ b/src/Constants.cc @@ -85,6 +85,11 @@ void Constants::Init(Local target) { CONST_ENUM(NORM_RELATIVE); CONST_ENUM(NORM_TYPE_MASK); + CONST_ENUM(RETR_EXTERNAL); + CONST_ENUM(RETR_LIST); + CONST_ENUM(RETR_CCOMP); + CONST_ENUM(RETR_TREE); + target->Set(Nan::New("Constants").ToLocalChecked(), obj); } From ef39f323c7ce7ce00eaff3c5decac61d4e54f01c Mon Sep 17 00:00:00 2001 From: Paul Matthews Date: Fri, 12 Feb 2016 13:25:25 +0100 Subject: [PATCH 23/85] -Changes to correct type_info errors seen in Visual Studio from std namespace pollution. Removed global std namespace references and specifically prefixed each call. --- src/Contours.cc | 10 +++++----- src/Contours.h | 5 ++--- src/Matrix.cc | 24 ++++++++++++------------ src/VideoCaptureWrap.cc | 1 - 4 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/Contours.cc b/src/Contours.cc index 406140a..af389da 100755 --- a/src/Contours.cc +++ b/src/Contours.cc @@ -75,7 +75,7 @@ NAN_METHOD(Contour::Points) { Contour *self = Nan::ObjectWrap::Unwrap(info.This()); int pos = info[0]->NumberValue(); - vector points = self->contours[pos]; + std::vector points = self->contours[pos]; Local data = Nan::New(points.size()); for (std::vector::size_type i = 0; i != points.size(); i++) { @@ -295,7 +295,7 @@ NAN_METHOD(Contour::Serialize) { Local contours_data = Nan::New(self->contours.size()); for (std::vector::size_type i = 0; i != self->contours.size(); i++) { - vector points = self->contours[i]; + std::vector points = self->contours[i]; Local contour_data = Nan::New(points.size()); for (std::vector::size_type j = 0; j != points.size(); j++) { @@ -336,12 +336,12 @@ NAN_METHOD(Contour::Deserialize) { Local contours_data = Local::Cast(data->Get(Nan::New("contours").ToLocalChecked())); Local hierarchy_data = Local::Cast(data->Get(Nan::New("hierarchy").ToLocalChecked())); - vector > contours_res; + std::vector > contours_res; int contours_length = contours_data->Length(); for (int i = 0; i < contours_length; i++) { Local contour_data = Local::Cast(contours_data->Get(i)); - vector points; + std::vector points; int contour_length = contour_data->Length(); for (int j = 0; j < contour_length; j++) { @@ -354,7 +354,7 @@ NAN_METHOD(Contour::Deserialize) { contours_res.push_back(points); } - vector hierarchy_res; + std::vector hierarchy_res; int hierarchy_length = hierarchy_data->Length(); for (int i = 0; i < hierarchy_length; i++) { diff --git a/src/Contours.h b/src/Contours.h index cbbff01..8e8352e 100755 --- a/src/Contours.h +++ b/src/Contours.h @@ -1,12 +1,11 @@ #include "OpenCV.h" -using namespace std; class Contour: public Nan::ObjectWrap { public: cv::Mat mat; - vector > contours; - vector hierarchy; + std::vector > contours; + std::vector hierarchy; static Nan::Persistent constructor; static void Init(Local target); diff --git a/src/Matrix.cc b/src/Matrix.cc index 5985a6d..ad56e93 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -668,8 +668,8 @@ NAN_METHOD(Matrix::ToBuffer) { class AsyncToBufferWorker: public Nan::AsyncWorker { public: - AsyncToBufferWorker(Nan::Callback *callback, Matrix* matrix, string ext, - vector params) : + AsyncToBufferWorker(Nan::Callback *callback, Matrix* matrix, std::string ext, + std::vector params) : Nan::AsyncWorker(callback), matrix(matrix), ext(ext), @@ -2055,7 +2055,7 @@ NAN_METHOD(Matrix::Split) { Matrix * self = Nan::ObjectWrap::Unwrap(info.This()); unsigned int size = self->mat.channels(); - vector channels; + std::vector channels; // Split doesn't seem to work on empty vectors for (unsigned int i = 0; i < size; i++) { @@ -2088,7 +2088,7 @@ NAN_METHOD(Matrix::Merge) { v8::Local jsChannels = v8::Local::Cast(info[0]); unsigned int L = jsChannels->Length(); - vector vChannels(L); + std::vector vChannels(L); for (unsigned int i = 0; i < L; i++) { Matrix * matObject = Nan::ObjectWrap::Unwrap(jsChannels->Get(i)->ToObject()); vChannels[i] = matObject->mat; @@ -2202,14 +2202,14 @@ NAN_METHOD(Matrix::TemplateMatches) { cv::Size maxSize = hit_mask.size(); int max_x = maxSize.width - 1; int max_y = maxSize.height - 1; - cv::Point top_left = cv::Point(max(0, pt.x - min_x_distance), - max(0, pt.y - min_y_distance)); - cv::Point top_right = cv::Point(min(max_x, pt.x + min_x_distance), - max(0, pt.y - min_y_distance)); - cv::Point bottom_left = cv::Point(max(0, pt.x - min_x_distance), - min(max_y, pt.y + min_y_distance)); - cv::Point bottom_right = cv::Point(min(max_x, pt.x + min_x_distance), - min(max_y, pt.y + min_y_distance)); + cv::Point top_left = cv::Point(std::max(0, pt.x - min_x_distance), + std::max(0, pt.y - min_y_distance)); + cv::Point top_right = cv::Point(std::min(max_x, pt.x + min_x_distance), + std::max(0, pt.y - min_y_distance)); + cv::Point bottom_left = cv::Point(std::max(0, pt.x - min_x_distance), + std::min(max_y, pt.y + min_y_distance)); + cv::Point bottom_right = cv::Point(std::min(max_x, pt.x + min_x_distance), + std::min(max_y, pt.y + min_y_distance)); if (hit_mask.at(top_left.y, top_left.x) > 0) continue; if (hit_mask.at(top_right.y, top_right.x) > 0) diff --git a/src/VideoCaptureWrap.cc b/src/VideoCaptureWrap.cc index 6ea7b13..2db7a35 100755 --- a/src/VideoCaptureWrap.cc +++ b/src/VideoCaptureWrap.cc @@ -3,7 +3,6 @@ #include "OpenCV.h" #include -using namespace std; Nan::Persistent VideoCaptureWrap::constructor; From b5228ae209a6a0c93028bdbfe34d647df5768b6d Mon Sep 17 00:00:00 2001 From: Paul Matthews Date: Fri, 12 Feb 2016 13:58:52 +0100 Subject: [PATCH 24/85] -Cleanup of white space after last commit --- src/Contours.cc | 4 ++-- src/Matrix.cc | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Contours.cc b/src/Contours.cc index af389da..7a8504f 100755 --- a/src/Contours.cc +++ b/src/Contours.cc @@ -295,7 +295,7 @@ NAN_METHOD(Contour::Serialize) { Local contours_data = Nan::New(self->contours.size()); for (std::vector::size_type i = 0; i != self->contours.size(); i++) { - std::vector points = self->contours[i]; + std::vector points = self->contours[i]; Local contour_data = Nan::New(points.size()); for (std::vector::size_type j = 0; j != points.size(); j++) { @@ -341,7 +341,7 @@ NAN_METHOD(Contour::Deserialize) { for (int i = 0; i < contours_length; i++) { Local contour_data = Local::Cast(contours_data->Get(i)); - std::vector points; + std::vector points; int contour_length = contour_data->Length(); for (int j = 0; j < contour_length; j++) { diff --git a/src/Matrix.cc b/src/Matrix.cc index ad56e93..7cb5582 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -669,7 +669,7 @@ NAN_METHOD(Matrix::ToBuffer) { class AsyncToBufferWorker: public Nan::AsyncWorker { public: AsyncToBufferWorker(Nan::Callback *callback, Matrix* matrix, std::string ext, - std::vector params) : + std::vector params) : Nan::AsyncWorker(callback), matrix(matrix), ext(ext), @@ -2203,13 +2203,13 @@ NAN_METHOD(Matrix::TemplateMatches) { int max_x = maxSize.width - 1; int max_y = maxSize.height - 1; cv::Point top_left = cv::Point(std::max(0, pt.x - min_x_distance), - std::max(0, pt.y - min_y_distance)); + std::max(0, pt.y - min_y_distance)); cv::Point top_right = cv::Point(std::min(max_x, pt.x + min_x_distance), - std::max(0, pt.y - min_y_distance)); + std::max(0, pt.y - min_y_distance)); cv::Point bottom_left = cv::Point(std::max(0, pt.x - min_x_distance), - std::min(max_y, pt.y + min_y_distance)); + std::min(max_y, pt.y + min_y_distance)); cv::Point bottom_right = cv::Point(std::min(max_x, pt.x + min_x_distance), - std::min(max_y, pt.y + min_y_distance)); + std::min(max_y, pt.y + min_y_distance)); if (hit_mask.at(top_left.y, top_left.x) > 0) continue; if (hit_mask.at(top_right.y, top_right.x) > 0) From 2405bc5a59ced1567a9f68dc78732fb229da6040 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Wed, 24 Feb 2016 20:12:23 -0800 Subject: [PATCH 25/85] Enable FaceRecognizer on OpenCV3 --- src/FaceRecognizer.cc | 40 ++++++++++++++++++++++++++++++++-------- src/FaceRecognizer.h | 9 ++++++++- src/OpenCV.h | 5 +++++ src/init.cc | 6 +++--- 4 files changed, 48 insertions(+), 12 deletions(-) diff --git a/src/FaceRecognizer.cc b/src/FaceRecognizer.cc index 47823c5..c23e6a3 100644 --- a/src/FaceRecognizer.cc +++ b/src/FaceRecognizer.cc @@ -1,15 +1,19 @@ -#include "FaceRecognizer.h" #include "OpenCV.h" -#if CV_MAJOR_VERSION >= 3 -#warning TODO: port me to OpenCV 3 -#endif - -#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) - +#ifdef HAVE_OPENCV_FACE +#include "FaceRecognizer.h" #include "Matrix.h" #include +#if CV_MAJOR_VERSION >= 3 +namespace cv { + using std::vector; + using cv::face::createEigenFaceRecognizer; + using cv::face::createFisherFaceRecognizer; + using cv::face::createLBPHFaceRecognizer; +} +#endif + #define EIGEN 0 #define LBPH 1 #define FISHER 2 @@ -373,7 +377,27 @@ NAN_METHOD(FaceRecognizerWrap::GetMat) { JSTHROW("getMat takes a key") } std::string key = std::string(*Nan::Utf8String(info[0]->ToString())); - cv::Mat m = self->rec->getMat(key); + cv::Mat m; +#if CV_MAJOR_VERSION >= 3 + cv::face::BasicFaceRecognizer *bfr = + dynamic_cast(self->rec.get()); + if (bfr == NULL) { + Nan::ThrowTypeError("getMat not supported"); + return; + } + if (key.compare("mean") == 0) { + m = bfr->getMean(); + } else if (key.compare("eigenvectors") == 0) { + m = bfr->getEigenVectors(); + } else if (key.compare("eigenvalues") == 0) { + m = bfr->getEigenValues(); + } else { + Nan::ThrowTypeError("Unknown getMat keyname"); + return; + } +#else + m = self->rec->getMat(key); +#endif Local im = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); Matrix *img = Nan::ObjectWrap::Unwrap(im); diff --git a/src/FaceRecognizer.h b/src/FaceRecognizer.h index 0224c28..a147229 100644 --- a/src/FaceRecognizer.h +++ b/src/FaceRecognizer.h @@ -1,8 +1,15 @@ #include "OpenCV.h" -#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) +#ifdef HAVE_OPENCV_FACE +#if CV_MAJOR_VERSION >= 3 +#include +namespace cv { + using cv::face::FaceRecognizer; +} +#else #include "opencv2/contrib/contrib.hpp" +#endif class FaceRecognizerWrap: public Nan::ObjectWrap { public: diff --git a/src/OpenCV.h b/src/OpenCV.h index 9eab257..f0ff9d3 100755 --- a/src/OpenCV.h +++ b/src/OpenCV.h @@ -22,7 +22,12 @@ #include #include #include +#include #endif +#if ((CV_MAJOR_VERSION == 2) && (CV_MINOR_VERSION >=4) && (CV_SUBMINOR_VERSION>=4)) +#define HAVE_OPENCV_FACE +#endif + #include #include diff --git a/src/init.cc b/src/init.cc index 75cb397..7d91bbe 100755 --- a/src/init.cc +++ b/src/init.cc @@ -38,11 +38,11 @@ extern "C" void init(Local target) { BackgroundSubtractorWrap::Init(target); Features::Init(target); LDAWrap::Init(target); -#if CV_SUBMINOR_VERSION>=4 +#endif +#endif +#ifdef HAVE_OPENCV_FACE FaceRecognizerWrap::Init(target); #endif -#endif -#endif }; NODE_MODULE(opencv, init) From 85b4542b7fc41242e105c7812f7548b0822aac06 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Thu, 25 Feb 2016 10:46:16 -0800 Subject: [PATCH 26/85] Work around bug in OpenCV3 FaceRecognizer::predict Older versions of OpenCV3 incorrectly returned label=0 at confidence=DBL_MAX instead of label=-1 on failure. This can be removed once the fix* becomes more widespread. * https://github.com/Itseez/opencv_contrib/commit/0aa58ae9b30a017b356a86d29453c0b56ed9e625#diff-d9c561bf45c255c5951ff1ab55e80473 --- src/FaceRecognizer.cc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/FaceRecognizer.cc b/src/FaceRecognizer.cc index c23e6a3..eb41e1a 100644 --- a/src/FaceRecognizer.cc +++ b/src/FaceRecognizer.cc @@ -282,6 +282,17 @@ NAN_METHOD(FaceRecognizerWrap::PredictSync) { double confidence = 0.0; self->rec->predict(im, predictedLabel, confidence); +#if CV_MAJOR_VERSION >= 3 + // Older versions of OpenCV3 incorrectly returned label=0 at + // confidence=DBL_MAX instead of label=-1 on failure. This can be removed + // once the fix* becomes more widespread. + // + // * https://github.com/Itseez/opencv_contrib/commit/0aa58ae9b30a017b356a86d29453c0b56ed9e625#diff-d9c561bf45c255c5951ff1ab55e80473 + if (predictedLabel == 0 && confidence == DBL_MAX) { + predictedLabel = -1; + } +#endif + v8::Local res = Nan::New(); res->Set(Nan::New("id").ToLocalChecked(), Nan::New(predictedLabel)); res->Set(Nan::New("confidence").ToLocalChecked(), Nan::New(confidence)); @@ -304,6 +315,16 @@ public: void Execute() { this->rec->predict(this->im, this->predictedLabel, this->confidence); +#if CV_MAJOR_VERSION >= 3 + // Older versions of OpenCV3 incorrectly returned label=0 at + // confidence=DBL_MAX instead of label=-1 on failure. This can be removed + // once the fix* becomes more widespread. + // + // * https://github.com/Itseez/opencv_contrib/commit/0aa58ae9b30a017b356a86d29453c0b56ed9e625#diff-d9c561bf45c255c5951ff1ab55e80473 + if (this->predictedLabel == 0 && this->confidence == DBL_MAX) { + this->predictedLabel = -1; + } +#endif } void HandleOKCallback() { From 5102116c52e39941c47cf87391c8de28875405e9 Mon Sep 17 00:00:00 2001 From: Salman Date: Tue, 15 Mar 2016 10:53:41 +0500 Subject: [PATCH 27/85] updated matchTemplate and added example --- examples/files/car1_template.jpg | Bin 0 -> 22936 bytes src/Matrix.cc | 40 +++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 examples/files/car1_template.jpg diff --git a/examples/files/car1_template.jpg b/examples/files/car1_template.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4fdf1c91325fe94c1c2bb3f2188dc4adad8c3bc GIT binary patch literal 22936 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 QV0TaZ=87n&yDrH8*~tRT@c;k- literal 0 HcmV?d00001 diff --git a/src/Matrix.cc b/src/Matrix.cc index 5985a6d..e0df89c 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -2249,7 +2249,7 @@ NAN_METHOD(Matrix::MatchTemplate) { v8::String::Utf8Value args0(info[0]->ToString()); std::string filename = std::string(*args0); cv::Mat templ; - templ = cv::imread(filename, CV_8S); + templ = cv::imread(filename, -1); Local out = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); Matrix *m_out = Nan::ObjectWrap::Unwrap(out); @@ -2268,8 +2268,44 @@ NAN_METHOD(Matrix::MatchTemplate) { int method = (info.Length() < 2) ? (int)cv::TM_CCORR_NORMED : info[1]->Uint32Value(); cv::matchTemplate(self->mat, templ, m_out->mat, method); + cv::normalize(m_out->mat, m_out->mat, 0, 1, cv::NORM_MINMAX, -1, cv::Mat()); + double minVal; + double maxVal; + cv::Point minLoc; + cv::Point maxLoc; + cv::Point matchLoc; - info.GetReturnValue().Set(out); + minMaxLoc(m_out->mat, &minVal, &maxVal, &minLoc, &maxLoc, cv::Mat()); + + if(method == CV_TM_SQDIFF || method == CV_TM_SQDIFF_NORMED) { + matchLoc = minLoc; + } + else { + matchLoc = maxLoc; + } + + //detected ROI + unsigned int roi_x = matchLoc.x; + unsigned int roi_y = matchLoc.y; + unsigned int roi_width = templ.cols; + unsigned int roi_height = templ.rows; + + //draw rectangle + if(info.Length() >= 3) { + cv::Rect roi(roi_x,roi_y,roi_width,roi_height); + cv::rectangle(self->mat, roi, cv::Scalar(0,0,255)); + } + + m_out->mat.convertTo(m_out->mat, CV_8UC1, 255, 0); + + v8::Local arr = Nan::New(5); + arr->Set(0, out); + arr->Set(1, Nan::New(roi_x)); + arr->Set(2, Nan::New(roi_y)); + arr->Set(3, Nan::New(roi_width)); + arr->Set(4, Nan::New(roi_height)); + + info.GetReturnValue().Set(arr); } // @author ytham From bd56c36040b9b08876f89755d34de485f0f0b895 Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Thu, 14 Apr 2016 08:36:15 -0700 Subject: [PATCH 28/85] add subtract() to Matrix --- src/Matrix.cc | 15 +++++++++++++++ src/Matrix.h | 2 ++ test/unit.js | 9 +++++++++ 3 files changed, 26 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index 87dec24..b1a1b39 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -109,6 +109,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "shift", Shift); Nan::SetPrototypeMethod(ctor, "reshape", Reshape); Nan::SetPrototypeMethod(ctor, "release", Release); + Nan::SetPrototypeMethod(ctor, "subtract", Subtract); target->Set(Nan::New("Matrix").ToLocalChecked(), ctor->GetFunction()); }; @@ -2569,3 +2570,17 @@ NAN_METHOD(Matrix::Release) { return; } + +NAN_METHOD(Matrix::Subtract) { + SETUP_FUNCTION(Matrix) + + if (info.Length() < 1) { + Nan::ThrowTypeError("Invalid number of arguments"); + } + + Matrix *other = Nan::ObjectWrap::Unwrap(info[0]->ToObject()); + + self->mat -= other->mat; + + return; +} diff --git a/src/Matrix.h b/src/Matrix.h index 042c86d..e000737 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -125,6 +125,8 @@ public: JSFUNC(Reshape) JSFUNC(Release) + + JSFUNC(Subtract) /* static Handle Val(const Arguments& info); static Handle RowRange(const Arguments& info); diff --git a/test/unit.js b/test/unit.js index fa82735..a6312b2 100755 --- a/test/unit.js +++ b/test/unit.js @@ -341,6 +341,15 @@ test('Native Matrix', function(assert) { assert.end(); }) +test('Subtract', function(assert) { + var a = new cv.Matrix.Zeros(1,1); + a.set(0, 0, 3); + var b = new cv.Matrix.Zeros(1,1); + b.set(0, 0, 1); + a.subtract(b); + assert.deepEqual(a.get(0, 0), 2); + assert.end(); +}); // Test the examples folder. require('./examples')() From 5ca03b25b46e22505ff2e637ccf46f3b387f7585 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Thu, 10 Mar 2016 15:16:59 -0800 Subject: [PATCH 29/85] AsyncSaveWorker now controls the lifecycle of its filename --- src/Matrix.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 87dec24..f552ea8 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -982,7 +982,7 @@ public: private: Matrix* matrix; - char* filename; + std::string filename; int res; }; From 2a2ea7d74acfd66729cf612f3f4b09b4ab232a06 Mon Sep 17 00:00:00 2001 From: Anshul Date: Thu, 21 Apr 2016 22:18:19 -0700 Subject: [PATCH 30/85] Add matrix mean method --- src/Matrix.cc | 17 ++++++++++++++++- src/Matrix.h | 1 + test/unit.js | 13 +++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index b1a1b39..77eb43d 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -106,6 +106,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "copyWithMask", CopyWithMask); Nan::SetPrototypeMethod(ctor, "setWithMask", SetWithMask); Nan::SetPrototypeMethod(ctor, "meanWithMask", MeanWithMask); + Nan::SetPrototypeMethod(ctor, "mean", Mean); Nan::SetPrototypeMethod(ctor, "shift", Shift); Nan::SetPrototypeMethod(ctor, "reshape", Reshape); Nan::SetPrototypeMethod(ctor, "release", Release); @@ -2484,10 +2485,24 @@ NAN_METHOD(Matrix::MeanWithMask) { Matrix *mask = Nan::ObjectWrap::Unwrap(info[0]->ToObject()); cv::Scalar means = cv::mean(self->mat, mask->mat); - v8::Local < v8::Array > arr = Nan::New(3); + v8::Local < v8::Array > arr = Nan::New(4); arr->Set(0, Nan::New(means[0])); arr->Set(1, Nan::New(means[1])); arr->Set(2, Nan::New(means[2])); + arr->Set(3, Nan::New(means[3])); + + info.GetReturnValue().Set(arr); +} + +NAN_METHOD(Matrix::Mean) { + SETUP_FUNCTION(Matrix) + + cv::Scalar means = cv::mean(self->mat); + v8::Local arr = Nan::New(4); + arr->Set(0, Nan::New(means[0])); + arr->Set(1, Nan::New(means[1])); + arr->Set(2, Nan::New(means[2])); + arr->Set(3, Nan::New(means[3])); info.GetReturnValue().Set(arr); } diff --git a/src/Matrix.h b/src/Matrix.h index e000737..74cd100 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -121,6 +121,7 @@ public: JSFUNC(CopyWithMask) JSFUNC(SetWithMask) JSFUNC(MeanWithMask) + JSFUNC(Mean) JSFUNC(Shift) JSFUNC(Reshape) diff --git a/test/unit.js b/test/unit.js index a6312b2..309cf62 100755 --- a/test/unit.js +++ b/test/unit.js @@ -351,6 +351,19 @@ test('Subtract', function(assert) { assert.end(); }); +test('Mean', function(assert) { + var a = new cv.Matrix.Zeros(2, 2, cv.Constants.CV_8UC3); + + // Set [0, 0] element to 1 for all three channels + a.set(0, 0, 1, 0); + a.set(0, 0, 1, 1); + a.set(0, 0, 1, 2); + + var means = a.mean(); + assert.deepEqual(means, [0.25, 0.25, 0.25, 0]); + assert.end(); +}); + // Test the examples folder. require('./examples')() From 5ae998becfe611333e12e3229094c3a6bcbd1d85 Mon Sep 17 00:00:00 2001 From: Matt Hackmann Date: Mon, 2 May 2016 10:21:39 -0700 Subject: [PATCH 31/85] loading image by file/buffer now has same behaviour --- examples/files/opencv.png | Bin 0 -> 2362 bytes examples/files/over_text.png | Bin 5550 -> 3610 bytes src/OpenCV.cc | 4 ++-- test/unit.js | 26 ++++++++++++++------------ 4 files changed, 16 insertions(+), 14 deletions(-) create mode 100755 examples/files/opencv.png diff --git a/examples/files/opencv.png b/examples/files/opencv.png new file mode 100755 index 0000000000000000000000000000000000000000..521a0dcee0c948c362b1ee948b74aba262711573 GIT binary patch literal 2362 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 gTJo>nCH)X!0ID(F00Bvb?1A!ol zO2AO13JIqaLkZFeB~gMP5PCuh?fu@LaWl8S?99&W%=3BnDVu!5(N0oaL0n8sOcM6n zRcA4=0|GIzp9DvL0#4B0&X<5qKHA13+65IH9piroA@*w!Dgf~d?6!Xh!WrQo6dTDz zSOJ$CVOM{3#f|eZ^q2radA4J;Gdt6-U{wMNC?~yFC*k$K6ve|9V`a9qG z>?-Ky*MrtX4zyi`u%mzC86iQ&=hE2RXf?8s+|kit++*c}DkqxLpG-;V5%398AWOpD zjz^FeM<5!FmX(!#Wt(ofv;4{U@Nq}*!uzp^54T6k{a?R+tx3TI5D!YQ zk+zSOEaC(|=(z2>i{o3*{qVn61~L2LP#-_P{FR0a{vRK1`f6)yZwdP0D)`NB)yQED z@?j|@3>)zr6wj~7vqXDVhYg;DTdlA|^1p`?dMMT?#_qcLTn}{LyAc!VZNCnAWTMSW z=?igof3C?oC~b8ipe1Rr#N7|O(n`G%HN#ryf7|o%k;L2U*_pcG?T}Ru31PyBhb0wGNhYz<4tJ3+qNcmD_3$!d_O|bR+lW=|%JJuY z8r~Nad>e3qJ8-`>ZEzH=F#n6w2s5jPlg((2jaIy9c*64EN7NQ-&b!{v z%g1q37e0Bj>zl`N=9f3K-bgDu=9(Km5G-+_)f%Jn+H|&YoBPLHi>UR981BH3>r?=g zxkTTNz_JUuc}d|O33->XUtX=IXD>1KA%QLo{BA_uw}heyai!gVo`e@$M5QJ-7^J*2 zUtaAr@S|h5{1ZXX45v>bOY0_6M!t3EmZj~gf!mFV;VDKs;-w>}WPiN0Nj)3VN~vdI z2Ho6SE1>&3Q8IdR{ak2Dn6s@8T+&NDwYx2O${am6KuT6da_P8Jt%g;%$7((-(ZN(< z&N0Pb&w|=3h?;N+&8aJVq+E6G`;UhjzgX|lxWS39MR6(g=?4<}T2pC}O;6aoZjISQl5*US0=?~#tHjAd zC)uXW$3HMxwEsoWqD(i-Q<69@~RB%CEd3mkV-DLMtZwo+*{QS#u z+gErHoT$ZwT42Oy?C;H{`r(9bZNJ9}=Y;te`!h4Oo&b5k{t&aI@6&J&%m-9m&mt*3 z1=b#Ii`%HI ztaKoo*-+1{89KZ!s99ZUSFy8JcAL3(;9!EJq8xJ`c=OP|kK29Qz|GXt#%gXO?>dlk zE0*n9gJR4)pR%ru(Q}+jL`(I+d-2^lrgqA)Q#Pl4P8o0Ulw!ss^RcTiQOtD*2Z!rD z;H5?qkRsa79ylCss(pvxDQgG1^I4VM>-nWH8eqQ%(IoS37>E z9Tan&Vr2mz0m9snGk-)&<_P zZsiOObrRY}M@RpZhHR1oAH#O>8q;IznO@D%qDr;h)9*24E%IX=RuK-UfH=O7z zaxe3ZnLxYmt)KfOHQU=q40Uq2wz0j$Xcs&@>8Pc{N;;u-SXxd4j>#JZwxtE(_6qw;S5)X7ot-?Yy-ljd>x^Gca|)w@a~xXTBRR_rGFwtNR(oNus^tgsN2XR_xkzbsbDTv1RYX zg}&(fk!O?b@Ic(g&IzH{W`PcjUgB80$p$B;n_uK$0$q~;SNIH&P8bL4=<1>xX5V-d zTB0Y=!#01_9jdqjNO}D6lqTs>V#nZC?E4qe{j%|1UIzQ}^K)~P#XQGWDWOnU#@LHn ztwmKtdHEQLfjL_<`HXOO<$(R5RKcAif6)Fh$&XhVivv`b(9qD>*saYKULaz1<`y_* zA20Tzx^h2(M@G?s{tGYdE#JQ{wJ3f`7YFb#@gc@QS65eCn@Xe6ii>kB(R0uAyadPo q#oxLAp#R6fzmS0)#%8V9L9xxF3NP>Zo96yA0nEnnYU$-$5B?7sK01y7 literal 5550 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 diff --git a/src/OpenCV.cc b/src/OpenCV.cc index 62007a4..14a498d 100755 --- a/src/OpenCV.cc +++ b/src/OpenCV.cc @@ -37,14 +37,14 @@ NAN_METHOD(OpenCV::ReadImage) { } else if (info[0]->IsString()) { std::string filename = std::string(*Nan::Utf8String(info[0]->ToString())); - mat = cv::imread(filename); + mat = cv::imread(filename, CV_LOAD_IMAGE_UNCHANGED); } else if (Buffer::HasInstance(info[0])) { uint8_t *buf = (uint8_t *) Buffer::Data(info[0]->ToObject()); unsigned len = Buffer::Length(info[0]->ToObject()); cv::Mat *mbuf = new cv::Mat(len, 1, CV_64FC1, buf); - mat = cv::imdecode(*mbuf, -1); + mat = cv::imdecode(*mbuf, CV_LOAD_IMAGE_UNCHANGED); if (mat.empty()) { argv[0] = Nan::Error("Error loading file"); diff --git a/test/unit.js b/test/unit.js index 309cf62..c13191c 100755 --- a/test/unit.js +++ b/test/unit.js @@ -127,7 +127,7 @@ test(".norm", function(assert){ var errorL2 = im.norm(im2, cv.Constants.NORM_L2); assert.equal(errorL2, 7295.591339980605); - + errorL2 = im.norm(im, cv.Constants.NORM_L2); assert.equal(errorL2, 0); assert.end(); @@ -205,23 +205,25 @@ test(".bitwiseXor", function(assert){ test("Image read from file", function(assert){ - cv.readImage("./examples/files/mona.png", function(err, im){ + cv.readImage("./examples/files/opencv.png", function(err, im){ assert.ok(im); - assert.equal(im.width(), 500); - assert.equal(im.height(), 756) - assert.equal(im.empty(), false) - assert.end() + assert.equal(im.width(), 82); + assert.equal(im.height(), 99); + assert.equal(im.channels(), 4); + assert.equal(im.empty(), false); + assert.end(); }) }) test("read Image from buffer", function(assert){ - cv.readImage(fs.readFileSync('./examples/files/mona.png'), function(err, im){ + cv.readImage(fs.readFileSync('./examples/files/opencv.png'), function(err, im){ assert.ok(im); - assert.equal(im.width(), 500); - assert.equal(im.height(), 756) - assert.equal(im.empty(), false) - assert.end() + assert.equal(im.width(), 82); + assert.equal(im.height(), 99); + assert.equal(im.channels(), 4); + assert.equal(im.empty(), false); + assert.end(); }) }) @@ -242,7 +244,7 @@ test("Cascade Classifier", function(assert){ test("ImageDataStream", function(assert){ var s = new cv.ImageDataStream() - s.on('load', function(im){ + s.on('load', function(im){ assert.ok(im) assert.equal(im.empty(), false); assert.end() From d42df05708bc2fd1991f14e320952c75c97c7aea Mon Sep 17 00:00:00 2001 From: Matthew Chase Whittemore Date: Thu, 5 May 2016 00:36:44 -0400 Subject: [PATCH 32/85] fix dissimilarity example --- examples/dissimilarity.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/dissimilarity.js b/examples/dissimilarity.js index 34c63d1..7c94989 100644 --- a/examples/dissimilarity.js +++ b/examples/dissimilarity.js @@ -5,10 +5,10 @@ if (cv.ImageSimilarity === undefined) { process.exit(0); } -cv.readImage("./examples/files/car1.jpg", function(err, car1) { +cv.readImage("./files/car1.jpg", function(err, car1) { if (err) throw err; - cv.readImage("./examples/files/car2.jpg", function(err, car2) { + cv.readImage("./files/car2.jpg", function(err, car2) { if (err) throw err; cv.ImageSimilarity(car1, car2, function (err, dissimilarity) { From 7112856244f387e621c1ad04deb0b01f1bf2fb44 Mon Sep 17 00:00:00 2001 From: Igor Dubinskiy Date: Thu, 12 May 2016 23:54:53 -0700 Subject: [PATCH 33/85] Restore Contour.points method --- src/Contours.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Contours.cc b/src/Contours.cc index 7a8504f..49f2bd9 100755 --- a/src/Contours.cc +++ b/src/Contours.cc @@ -18,6 +18,7 @@ void Contour::Init(Local target) { // Prototype // Local proto = constructor->PrototypeTemplate(); Nan::SetPrototypeMethod(ctor, "point", Point); + Nan::SetPrototypeMethod(ctor, "points", Points); Nan::SetPrototypeMethod(ctor, "size", Size); Nan::SetPrototypeMethod(ctor, "cornerCount", CornerCount); Nan::SetPrototypeMethod(ctor, "area", Area); From 2517d1d0a0125e7032902c217f34406c6f6dd7f2 Mon Sep 17 00:00:00 2001 From: Yossi Date: Fri, 15 Jul 2016 10:25:34 +0300 Subject: [PATCH 34/85] Update documentup.min.js src --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 1332c37..fc1d5c0 100755 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + From d8de6a86b8e5f930f7675790f979b690eaf53ee4 Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 25 Jul 2016 13:16:32 -0400 Subject: [PATCH 35/85] Add match temple method Add match temple method that accept a matrix --- src/Matrix.cc | 81 ++++++++++++++++++++++++++++++++++++++++++++++----- src/Matrix.h | 1 + 2 files changed, 75 insertions(+), 7 deletions(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 45f0236..2ec6d4f 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -93,6 +93,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "equalizeHist", EqualizeHist); Nan::SetPrototypeMethod(ctor, "floodFill", FloodFill); Nan::SetPrototypeMethod(ctor, "matchTemplate", MatchTemplate); + Nan::SetPrototypeMethod(ctor, "matchTemplateByMatrix", MatchTemplateByMatrix); Nan::SetPrototypeMethod(ctor, "templateMatches", TemplateMatches); Nan::SetPrototypeMethod(ctor, "minMaxLoc", MinMaxLoc); Nan::SetPrototypeMethod(ctor, "pushBack", PushBack); @@ -2240,6 +2241,72 @@ NAN_METHOD(Matrix::TemplateMatches) { info.GetReturnValue().Set(probabilites_array); } +// @author Evilcat325 +// MatchTemplate accept a Matrix +// Usage: output = input.matchTemplateByMatrix(matrix. method); +NAN_METHOD(Matrix::MatchTemplateByMatrix) { + Nan::HandleScope scope; + + Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); + Matrix *templ = Nan::ObjectWrap::Unwrap(info[0]->ToObject()); + + Local out = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *m_out = Nan::ObjectWrap::Unwrap(out); + int cols = self->mat.cols - templ->mat.cols + 1; + int rows = self->mat.rows - templ->mat.rows + 1; + m_out->mat.create(cols, rows, CV_32FC1); + + /* + TM_SQDIFF =0 + TM_SQDIFF_NORMED =1 + TM_CCORR =2 + TM_CCORR_NORMED =3 + TM_CCOEFF =4 + TM_CCOEFF_NORMED =5 + */ + + int method = (info.Length() < 2) ? (int)cv::TM_CCORR_NORMED : info[1]->Uint32Value(); + cv::matchTemplate(self->mat, templ->mat, m_out->mat, method); + cv::normalize(m_out->mat, m_out->mat, 0, 1, cv::NORM_MINMAX, -1, cv::Mat()); + double minVal; + double maxVal; + cv::Point minLoc; + cv::Point maxLoc; + cv::Point matchLoc; + + minMaxLoc(m_out->mat, &minVal, &maxVal, &minLoc, &maxLoc, cv::Mat()); + + if(method == CV_TM_SQDIFF || method == CV_TM_SQDIFF_NORMED) { + matchLoc = minLoc; + } + else { + matchLoc = maxLoc; + } + + //detected ROI + unsigned int roi_x = matchLoc.x; + unsigned int roi_y = matchLoc.y; + unsigned int roi_width = templ->mat.cols; + unsigned int roi_height = templ->mat.rows; + + //draw rectangle + if(info.Length() >= 3) { + cv::Rect roi(roi_x,roi_y,roi_width,roi_height); + cv::rectangle(self->mat, roi, cv::Scalar(0,0,255)); + } + + m_out->mat.convertTo(m_out->mat, CV_8UC1, 255, 0); + + v8::Local arr = Nan::New(5); + arr->Set(0, out); + arr->Set(1, Nan::New(roi_x)); + arr->Set(2, Nan::New(roi_y)); + arr->Set(3, Nan::New(roi_width)); + arr->Set(4, Nan::New(roi_height)); + + info.GetReturnValue().Set(arr); +} + // @author ytham // Match Template filter // Usage: output = input.matchTemplate("templateFileString", method); @@ -2271,19 +2338,19 @@ NAN_METHOD(Matrix::MatchTemplate) { int method = (info.Length() < 2) ? (int)cv::TM_CCORR_NORMED : info[1]->Uint32Value(); cv::matchTemplate(self->mat, templ, m_out->mat, method); cv::normalize(m_out->mat, m_out->mat, 0, 1, cv::NORM_MINMAX, -1, cv::Mat()); - double minVal; - double maxVal; - cv::Point minLoc; + double minVal; + double maxVal; + cv::Point minLoc; cv::Point maxLoc; cv::Point matchLoc; minMaxLoc(m_out->mat, &minVal, &maxVal, &minLoc, &maxLoc, cv::Mat()); - if(method == CV_TM_SQDIFF || method == CV_TM_SQDIFF_NORMED) { - matchLoc = minLoc; + if(method == CV_TM_SQDIFF || method == CV_TM_SQDIFF_NORMED) { + matchLoc = minLoc; } - else { - matchLoc = maxLoc; + else { + matchLoc = maxLoc; } //detected ROI diff --git a/src/Matrix.h b/src/Matrix.h index 74cd100..ffa8ca6 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -109,6 +109,7 @@ public: JSFUNC(FloodFill) JSFUNC(MatchTemplate) + JSFUNC(MatchTemplateByMatrix) JSFUNC(TemplateMatches) JSFUNC(MinMaxLoc) From 344ea4963d5b3aa765cdab53a38c8f6e2034687a Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 25 Jul 2016 13:54:55 -0400 Subject: [PATCH 36/85] change output MatchTemplateByMatrix now only return the result matrix --- src/Matrix.cc | 37 +------------------------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 2ec6d4f..125b28c 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -2268,43 +2268,8 @@ NAN_METHOD(Matrix::MatchTemplateByMatrix) { int method = (info.Length() < 2) ? (int)cv::TM_CCORR_NORMED : info[1]->Uint32Value(); cv::matchTemplate(self->mat, templ->mat, m_out->mat, method); cv::normalize(m_out->mat, m_out->mat, 0, 1, cv::NORM_MINMAX, -1, cv::Mat()); - double minVal; - double maxVal; - cv::Point minLoc; - cv::Point maxLoc; - cv::Point matchLoc; - minMaxLoc(m_out->mat, &minVal, &maxVal, &minLoc, &maxLoc, cv::Mat()); - - if(method == CV_TM_SQDIFF || method == CV_TM_SQDIFF_NORMED) { - matchLoc = minLoc; - } - else { - matchLoc = maxLoc; - } - - //detected ROI - unsigned int roi_x = matchLoc.x; - unsigned int roi_y = matchLoc.y; - unsigned int roi_width = templ->mat.cols; - unsigned int roi_height = templ->mat.rows; - - //draw rectangle - if(info.Length() >= 3) { - cv::Rect roi(roi_x,roi_y,roi_width,roi_height); - cv::rectangle(self->mat, roi, cv::Scalar(0,0,255)); - } - - m_out->mat.convertTo(m_out->mat, CV_8UC1, 255, 0); - - v8::Local arr = Nan::New(5); - arr->Set(0, out); - arr->Set(1, Nan::New(roi_x)); - arr->Set(2, Nan::New(roi_y)); - arr->Set(3, Nan::New(roi_width)); - arr->Set(4, Nan::New(roi_height)); - - info.GetReturnValue().Set(arr); + info.GetReturnValue().Set(out); } // @author ytham From a2a30182133132052679cf941628fb0e6e49b99c Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 25 Jul 2016 13:55:30 -0400 Subject: [PATCH 37/85] Add Unit test to method the expected match location should be (717, 0) --- test/unit.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/test/unit.js b/test/unit.js index c13191c..cb6a2cd 100755 --- a/test/unit.js +++ b/test/unit.js @@ -366,7 +366,21 @@ test('Mean', function(assert) { assert.end(); }); +test('MatchTemplateByMatrix', function(assert) { + var cv = require('../lib/opencv'); + cv.readImage("./examples/files/car1.jpg", function(err, target){ + cv.readImage("./examples/files/car1_template.jpg", function(err, template){ + var res = target.matchTemplateByMatrix(template, cv.Constants.TM_CCORR_NORMED); + var minMax = res.minMaxLoc(); + var topLeft = minMax.maxLoc; + assert.ok(topLeft, "Found Match"); + console.log(topLeft.x === 717); + assert.equal(topLeft.x, 717, "match location x === 717"); + assert.equal(topLeft.y, 0, "match location y === 717"); + assert.end(); + }); + }) +}); + // Test the examples folder. require('./examples')() - - From e578cdb869f2c3aed1e23dd65da7305a179ff37e Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 25 Jul 2016 16:47:15 -0400 Subject: [PATCH 38/85] Add method range check Method can be only 0~5, if other number supply will default to TM_CCORR_NORMED. --- src/Matrix.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 125b28c..b99baf8 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -2266,9 +2266,8 @@ NAN_METHOD(Matrix::MatchTemplateByMatrix) { */ int method = (info.Length() < 2) ? (int)cv::TM_CCORR_NORMED : info[1]->Uint32Value(); + if (!(method >= 0 && method <= 5)) method = (int)cv::TM_CCORR_NORMED; cv::matchTemplate(self->mat, templ->mat, m_out->mat, method); - cv::normalize(m_out->mat, m_out->mat, 0, 1, cv::NORM_MINMAX, -1, cv::Mat()); - info.GetReturnValue().Set(out); } From 495e06a59180c5005c1cf3f23a16a4df7cd422c3 Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 25 Jul 2016 16:48:17 -0400 Subject: [PATCH 39/85] Add canny match template test As we can pass matrix as template, detecting canny provide more robust match if we only care about shape rather than contrast and color. --- test/unit.js | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/test/unit.js b/test/unit.js index cb6a2cd..e49a0c4 100755 --- a/test/unit.js +++ b/test/unit.js @@ -127,7 +127,6 @@ test(".norm", function(assert){ var errorL2 = im.norm(im2, cv.Constants.NORM_L2); assert.equal(errorL2, 7295.591339980605); - errorL2 = im.norm(im, cv.Constants.NORM_L2); assert.equal(errorL2, 0); assert.end(); @@ -368,15 +367,29 @@ test('Mean', function(assert) { test('MatchTemplateByMatrix', function(assert) { var cv = require('../lib/opencv'); - cv.readImage("./examples/files/car1.jpg", function(err, target){ - cv.readImage("./examples/files/car1_template.jpg", function(err, template){ - var res = target.matchTemplateByMatrix(template, cv.Constants.TM_CCORR_NORMED); + var targetFilename = "./examples/files/car1.jpg"; + var templateFilename = "./examples/files/car1_template.jpg"; + cv.readImage(targetFilename, function(err, target){ + cv.readImage(templateFilename, function(err, template){ + var TM_CCORR_NORMED = 3; + var res = target.matchTemplateByMatrix(template, TM_CCORR_NORMED); var minMax = res.minMaxLoc(); var topLeft = minMax.maxLoc; - assert.ok(topLeft, "Found Match"); - console.log(topLeft.x === 717); - assert.equal(topLeft.x, 717, "match location x === 717"); - assert.equal(topLeft.y, 0, "match location y === 717"); + assert.ok(topLeft, "RGB Found Match"); + assert.equal(topLeft.x, 42, "match location x === 42"); + assert.equal(topLeft.y, 263, "match location y === 263"); + target.canny(5,300); + template.canny(5,300); + res = target.matchTemplateByMatrix(template, TM_CCORR_NORMED); + minMax = res.minMaxLoc(); + topLeft = minMax.maxLoc; + target.save("./target.png"); + template.save("./template.png"); + // res.rectangle([topLeft.x, topLeft.y], [template.width(), template.height()], [0, 255,0], 2); + res.save("./result.png"); + assert.ok(topLeft, "Canny edge Found Match"); + assert.equal(topLeft.x, 42, "match location x === 42"); + assert.equal(topLeft.y, 263, "match location y === 263"); assert.end(); }); }) From e08421357829b4557f20eae0b765dd6ec86896c3 Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 25 Jul 2016 16:48:51 -0400 Subject: [PATCH 40/85] Remove test temp png for visual debug --- test/unit.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/unit.js b/test/unit.js index e49a0c4..a95bbcf 100755 --- a/test/unit.js +++ b/test/unit.js @@ -383,10 +383,6 @@ test('MatchTemplateByMatrix', function(assert) { res = target.matchTemplateByMatrix(template, TM_CCORR_NORMED); minMax = res.minMaxLoc(); topLeft = minMax.maxLoc; - target.save("./target.png"); - template.save("./template.png"); - // res.rectangle([topLeft.x, topLeft.y], [template.width(), template.height()], [0, 255,0], 2); - res.save("./result.png"); assert.ok(topLeft, "Canny edge Found Match"); assert.equal(topLeft.x, 42, "match location x === 42"); assert.equal(topLeft.y, 263, "match location y === 263"); From 0471feedf848c02dcfd72492e3e798705ff96eb2 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Fri, 2 Sep 2016 15:03:20 -0700 Subject: [PATCH 41/85] Update node-pre-gyp The older `node-pre-gyp` version prevented proper handling with electron (as shown in https://github.com/mapbox/node-pre-gyp/pull/175). --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0c3e7d4..054372f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "dependencies": { "buffers": "^0.1.1", "nan": "^2.0.9", - "node-pre-gyp": "^0.6.11" + "node-pre-gyp": "^0.6.30" }, "devDependencies": { "tape": "^3.0.0", From 19067e5affcf207d0ad61004fbbc5faa10bb777e Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Mon, 5 Sep 2016 13:01:18 -0700 Subject: [PATCH 42/85] compensate for any padding in getData --- src/Matrix.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 45f0236..7e8e5e8 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -320,7 +320,13 @@ NAN_METHOD(Matrix::GetData) { int size = self->mat.rows * self->mat.cols * self->mat.elemSize1(); Local buf = Nan::NewBuffer(size).ToLocalChecked(); uchar* data = (uchar*) Buffer::Data(buf); - memcpy(data, self->mat.data, size); + // if there is padding after each row, clone first to get rid of it + if (self->mat.dims == 2 && self->mat.step[0] != self->mat.size[1]) { + cv::Mat copy = self->mat.clone(); + memcpy(data, copy.data, size); + } else { + memcpy(data, self->mat.data, size); + } v8::Local globalObj = Nan::GetCurrentContext()->Global(); v8::Local bufferConstructor = v8::Local::Cast(globalObj->Get(Nan::New("Buffer").ToLocalChecked())); From 6722aadc2bcd3df551e58ceaed0911dda117ffbe Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Mon, 5 Sep 2016 13:11:13 -0700 Subject: [PATCH 43/85] fix signed/unsigned comparison warning --- src/Matrix.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 7e8e5e8..2564bbf 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -321,7 +321,7 @@ NAN_METHOD(Matrix::GetData) { Local buf = Nan::NewBuffer(size).ToLocalChecked(); uchar* data = (uchar*) Buffer::Data(buf); // if there is padding after each row, clone first to get rid of it - if (self->mat.dims == 2 && self->mat.step[0] != self->mat.size[1]) { + if (self->mat.dims == 2 && self->mat.step[0] != size_t(self->mat.size[1])) { cv::Mat copy = self->mat.clone(); memcpy(data, copy.data, size); } else { From 9a2b3c3bfca7d89e496b639f9fd919cd2783aa9c Mon Sep 17 00:00:00 2001 From: Andreas Gal Date: Wed, 7 Sep 2016 16:16:11 -0700 Subject: [PATCH 44/85] make getData() work if we have more than one channel --- src/Matrix.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 2564bbf..a9f15a2 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -317,7 +317,7 @@ NAN_METHOD(Matrix::GetData) { Nan::HandleScope scope; Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); - int size = self->mat.rows * self->mat.cols * self->mat.elemSize1(); + int size = self->mat.rows * self->mat.cols * self->mat.elemSize(); Local buf = Nan::NewBuffer(size).ToLocalChecked(); uchar* data = (uchar*) Buffer::Data(buf); // if there is padding after each row, clone first to get rid of it From de57ca84196a3016a196c7f0590254a88926f930 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Wed, 21 Sep 2016 01:47:10 -0700 Subject: [PATCH 45/85] Rename video capture close to release --- src/VideoCaptureWrap.cc | 4 ++-- src/VideoCaptureWrap.h | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/VideoCaptureWrap.cc b/src/VideoCaptureWrap.cc index 2db7a35..5afbf65 100755 --- a/src/VideoCaptureWrap.cc +++ b/src/VideoCaptureWrap.cc @@ -33,7 +33,7 @@ void VideoCaptureWrap::Init(Local target) { Nan::SetPrototypeMethod(ctor, "setPosition", SetPosition); Nan::SetPrototypeMethod(ctor, "getFrameAt", GetFrameAt); Nan::SetPrototypeMethod(ctor, "getFrameCount", GetFrameCount); - Nan::SetPrototypeMethod(ctor, "close", Close); + Nan::SetPrototypeMethod(ctor, "release", Release); Nan::SetPrototypeMethod(ctor, "ReadSync", ReadSync); Nan::SetPrototypeMethod(ctor, "grab", Grab); Nan::SetPrototypeMethod(ctor, "retrieve", Retrieve); @@ -145,7 +145,7 @@ NAN_METHOD(VideoCaptureWrap::GetFrameAt) { return; } -NAN_METHOD(VideoCaptureWrap::Close) { +NAN_METHOD(VideoCaptureWrap::Release) { Nan::HandleScope scope; VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); diff --git a/src/VideoCaptureWrap.h b/src/VideoCaptureWrap.h index bf28790..cb01a72 100755 --- a/src/VideoCaptureWrap.h +++ b/src/VideoCaptureWrap.h @@ -27,7 +27,6 @@ public: static NAN_METHOD(GetFrameAt); - //close the stream - static NAN_METHOD(Close); + // release the stream + static NAN_METHOD(Release); }; - From 64b35c19b28c976b841e6eb7376cc6912c1b7259 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Thu, 22 Sep 2016 01:45:58 -0700 Subject: [PATCH 46/85] Add code coverage --- .gitignore | 1 + CONTRIBUTORS | 1 + Makefile | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ binding.gyp | 34 ++++++++++++++++++++-------- lib/bindings.js | 2 +- package.json | 1 + test/unit.js | 6 ++--- 7 files changed, 92 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index ef08044..382b1ae 100755 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ out*.png examples/*.avi examples/tmp/* vagrant/.vagrant +coverage/ diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 4370a91..f9a995d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -68,3 +68,4 @@ Ordered by date of first contribution. [Auto-generated](https://github.com/xingr - [vyacheslav](https://github.com/vyacheslav-lonschakov) - vyacheslav - [Harold Ozouf](https://github.com/jspdown) +- [Dan Schultzer](https://github.com/danschultzer) diff --git a/Makefile b/Makefile index 9878379..57821d8 100644 --- a/Makefile +++ b/Makefile @@ -39,3 +39,63 @@ travis-build: docker build -t peterbraden/node-opencv-ubuntu-12-04 -f test/Dockerfile-ubuntu-12-04 . docker build -t peterbraden/node-opencv-ubuntu-14-04 -f test/Dockerfile-ubuntu-14-04 . .PHONY: travis-build + + +# Below build, coverage and clean tasks were partly lifted from https://github.com/geo-data/node-mapserv/blob/e99b23a44d910d444f5a45d144859758f820e1d1/Makefile +# @author danschultzer + +# The location of the `istanbul` JS code coverage framework. Try and get a +# globally installed version, falling back to a local install. +ISTANBUL := $(shell which istanbul) +ifeq ($(ISTANBUL),) + ISTANBUL = ./node_modules/.bin/istanbul/lib/cli.js +endif + +# The location of the `node-pre-gyp` module builder. Try and get a globally +# installed version, falling back to a local install. +NODE_PRE_GYP = $(shell which node-pre-gyp) +ifeq ($(NODE_GYP),) + NODE_PRE_GYP = ./node_modules/.bin/node-pre-gyp +endif + +NODE := $(shell which node) +test_deps = build \ +./test/*.js \ +./lib/*.js \ +$(NODE) + +build: build/Debug/opencv.node +build/Debug/opencv.node: + $(NODE_PRE_GYP) --verbose --debug rebuild + +# Perform the code coverage +cover: coverage/index.html +coverage/index.html: coverage/node-opencv.info + genhtml --output-directory coverage coverage/node-opencv.info + @echo "\033[0;32mPoint your browser at \`coverage/index.html\`\033[m\017" +coverage/node-opencv.info: coverage/bindings.info + lcov --test-name node-opencv \ + --add-tracefile coverage/lcov.info \ + --add-tracefile coverage/bindings.info \ + --output-file coverage/node-opencv.info +coverage/bindings.info: coverage/addon.info + lcov --extract coverage/addon.info '*opencv/src/*' --output-file coverage/bindings.info +coverage/addon.info: coverage/lcov.info + lcov --capture --base-directory build/ --directory . --output-file coverage/addon.info +# This generates the JS lcov info as well as gcov `*.gcda` files: +coverage/lcov.info: $(test_deps) $(ISTANBUL) + DEBUG=true $(NODE) --nouse_idle_notification --expose-gc \ + $(ISTANBUL) cover --report lcovonly -- test/unit.js + +$(NODE_PRE_GYP): + npm install node-pre-gyp + +$(ISTANBUL): package.json + npm install istanbul + @touch $(ISTANBUL) + +# Clean up any generated files +clean: $(NODE_PRE_GYP) + $(NODE_PRE_GYP) clean + rm -rf coverage + rm -rf build diff --git a/binding.gyp b/binding.gyp index 1d5e1c3..0bbd1e7 100755 --- a/binding.gyp +++ b/binding.gyp @@ -62,15 +62,31 @@ "xcode_settings": { "OTHER_CFLAGS": [ "-mmacosx-version-min=10.7", - "-std=c++11", - "-stdlib=libc++", - "", "dependencies": { "buffers": "^0.1.1", + "istanbul": "0.4.5", "nan": "^2.0.9", "node-pre-gyp": "^0.6.30" }, diff --git a/test/unit.js b/test/unit.js index a95bbcf..412eef3 100755 --- a/test/unit.js +++ b/test/unit.js @@ -61,8 +61,8 @@ test('Matrix constructor', function(assert){ test('Matrix accessors', function(assert){ var mat = new cv.Matrix(1, 2); - mat.set(0,0,3) - mat.set(0,1,5000) + mat.set(0,0,3); + mat.set(0,1,5000); assert.deepEqual(mat.row(0), [3,5000]); mat = new cv.Matrix(1,2); @@ -335,7 +335,7 @@ test('LDA Wrap', function(assert) { test('Native Matrix', function(assert) { - var nativemat = require('../build/Release/test_nativemat.node'); + var nativemat = require('../build/' + (!!process.env.DEBUG ? 'Debug' : 'Release') + '/test_nativemat.node'); var mat = new cv.Matrix(42, 8); assert.deepEqual(mat.size(), nativemat.size(mat), 'nativemat'); From 6ca8a35338ba26b876a3fbb529c594001a3d2043 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Thu, 22 Sep 2016 01:48:30 -0700 Subject: [PATCH 47/85] Fix issues that came up with debug opencv OpenCV compiled with debug has a lot of assertions. There was some issues that came up when I ran the tests on that build. --- examples/test.js | 3 +-- src/Matrix.cc | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/examples/test.js b/examples/test.js index 5513781..83afa48 100644 --- a/examples/test.js +++ b/examples/test.js @@ -1,6 +1,5 @@ var cv = require('../lib/opencv'); -var mat = new cv.Matrix(1, 2, cv.Constants.CV_8U, [1]); +var mat = new cv.Matrix(1, 2, cv.Constants.CV_8UC3, [1]); var row = mat.pixelRow(0); console.log("mat: " + row[0] + row[1]); - diff --git a/src/Matrix.cc b/src/Matrix.cc index 39d7002..faff68d 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -198,7 +198,7 @@ double Matrix::DblGet(cv::Mat mat, int i, int j) { switch (mat.type()) { case CV_32FC3: - pix = mat.at(i, j); + pix = mat.at(i, j); pint |= (uchar) pix.val[2]; pint |= ((uchar) pix.val[1]) << 8; pint |= ((uchar) pix.val[0]) << 16; @@ -281,9 +281,9 @@ NAN_METHOD(Matrix::Set) { switch (self->mat.type()) { case CV_32FC3: vint = static_cast(val + 0.5); - self->mat.at(i, j)[0] = (uchar) (vint >> 16) & 0xff; - self->mat.at(i, j)[1] = (uchar) (vint >> 8) & 0xff; - self->mat.at(i, j)[2] = (uchar) (vint) & 0xff; + self->mat.at(i, j)[0] = (uchar) (vint >> 16) & 0xff; + self->mat.at(i, j)[1] = (uchar) (vint >> 8) & 0xff; + self->mat.at(i, j)[2] = (uchar) (vint) & 0xff; // printf("!!!i %x, %x, %x", (vint >> 16) & 0xff, (vint >> 8) & 0xff, (vint) & 0xff); break; default: From 90c7a0fc508ed1cbc6b995ace9cc364233c8d954 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Thu, 22 Sep 2016 02:11:45 -0700 Subject: [PATCH 48/85] Update travis to run coverage and debug opencv --- .travis.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index db65e84..d522dab 100755 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,8 @@ before_install: - sudo add-apt-repository -y ppa:kubuntu-ppa/backports - sudo apt-get update - sudo apt-get install --force-yes --yes libcv-dev libcvaux-dev libhighgui-dev libopencv-dev + # for code coverage + - sudo apt-get install lcov # get commit message - COMMIT_MESSAGE=$(git show -s --format=%B $TRAVIS_COMMIT | tr -d '\n') # put local node-pre-gyp on PATH @@ -49,11 +51,11 @@ before_install: - platform=$(uname -s | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/") install: - # ensure source install works - - npm install --build-from-source - # test our module - - npm test - - node lib/opencv.js + # install dependencies first + - npm install + # build from source, run test and generate code coverage + - make cover + - DEBUG=true node lib/opencv.js - docker build -t peterbraden/node-opencv-ubuntu-12-04 -f test/Dockerfile-ubuntu-12-04 . - docker build -t peterbraden/node-opencv-ubuntu-14-04 -f test/Dockerfile-ubuntu-14-04 . @@ -81,3 +83,5 @@ script: after_success: # if success then query and display all published binaries - node-pre-gyp info + # Upload coverage to codecov + - bash <(curl -s https://codecov.io/bash) -s coverage -f *.info From 32bb2d089b2ec9f01ffedc3cada95e9d86286895 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Thu, 22 Sep 2016 11:11:54 -0700 Subject: [PATCH 49/85] Update readme --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6bf0720..15944d4 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # node-opencv [![Build Status](https://secure.travis-ci.org/peterbraden/node-opencv.png)](http://travis-ci.org/peterbraden/node-opencv) - +[![Coverage](http://codecov.io/github/peterbraden/node-opencv/coverage.svg?branch=master)](https://codecov.io/gh/peterbraden/node-opencv) [OpenCV](http://opencv.org) bindings for Node.js. OpenCV is the defacto computer vision library - by interfacing with it natively in node, @@ -223,6 +223,20 @@ contours.approxPolyDP(index, epsilon, isClosed); contours.convexHull(index, clockwise); ``` +## Test + +Using [tape](https://github.com/substack/tape). Run with command: + +`npm test`. + +## Code coverage + +Using [istanbul](http://gotwarlost.github.io/istanbul/) and [lcov](http://ltp.sourceforge.net/coverage/lcov.php). Run with command: + +`make cover` + +Build version of `opencv.node` will be generated, and coverage files will be put in `coverage/` directory. These files can be remvoved automatically by running `make clean`. + ## MIT License The library is distributed under the MIT License - if for some reason that doesn't work for you please get in touch. From 0bea755e70c88f7d4ba78ad98df58bef3c3b6cb5 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Thu, 22 Sep 2016 12:09:15 -0700 Subject: [PATCH 50/85] Added 6.0.0 change log --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc95f42..66e6f4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,32 @@ # Changelog + +## 6.0.0 + +# Enhancements +- @wenq added `contour.moments` method. +- @andreasgal added `matrix.substract` method. +- @jainanshul added `matrix.mean` method. +- @idubinskiy restored `contour.points` method. +- @danschultzer updated node-pre-gyp to fix load of node-opencv in electron runtime. +- @andreasgal made `matrix.getData` work with RGB images. +- @Evilcat325 added `matrix.MatchTemplateByMatrix` method. + +# Bug fixes +- @dominikdolancic fixed image load issue in `matrix.matchTemplate()`. +- @AwooOOoo fixed `type_info` errors in Visual Studio with std namespace pollution. +- @mvines fixed issue that prevented `AsyncSaveWorker` from using de-allocated memory. +- @mcwhittemore fixed dissimilarity example image load. +- @saoron fixed dead index.html documentup source. +- @andreasgal fixed an issue with `matrix.crop` (and potentially others), where `matrix.getData` ends up returning less than full matrix. + +## Backwards incompatible changes +- @dxprog changed readImage to load image with `CV_LOAD_IMAGE_UNCHANGED` instead of `CV_LOAD_IMAGE_COLOR`. The latter returned the image as 3-channel. +- @danschultzer changed `VideoCapture.close` to `VideoCapture.release`. + +Thanks all. + ## 5.0.0 (Feb 9 2016) - @mvines and @svogl started working on OpenCV 3.x support. From d64b28304d92ec8f27172b861ee0c870498514b8 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Thu, 22 Sep 2016 12:09:20 -0700 Subject: [PATCH 51/85] Bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 054372f..5154262 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencv", - "version": "5.0.0", + "version": "6.0.0", "description": "Node Bindings to OpenCV", "author": "Peter Braden ", "dependencies": { From da7e707a0c7c25f5bdaef665ad62ed04edc159f8 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Thu, 22 Sep 2016 13:17:46 -0700 Subject: [PATCH 52/85] Move cflags and ldflags for mac to debug config --- binding.gyp | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/binding.gyp b/binding.gyp index 0bbd1e7..69b4d12 100755 --- a/binding.gyp +++ b/binding.gyp @@ -60,20 +60,17 @@ [ # cflags on OS X are stupid and have to be defined like this "OS==\"mac\"", { "xcode_settings": { - "OTHER_CFLAGS": [ - "-mmacosx-version-min=10.7", - " -fprofile-arcs -ftest-coverage ", - "-std=c++11", - "-stdlib=libc++", - " Date: Fri, 23 Sep 2016 12:29:05 +0200 Subject: [PATCH 53/85] Add thanks --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66e6f4e..e05edd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,7 +25,8 @@ - @dxprog changed readImage to load image with `CV_LOAD_IMAGE_UNCHANGED` instead of `CV_LOAD_IMAGE_COLOR`. The latter returned the image as 3-channel. - @danschultzer changed `VideoCapture.close` to `VideoCapture.release`. -Thanks all. +Thanks to all, also a massive thanks to @danschultzer for helping get the open +tickets and PR's under control. ## 5.0.0 (Feb 9 2016) From d47b6f6ce3b7e63426eee075f922d07dba02ea85 Mon Sep 17 00:00:00 2001 From: Dan Schultzer Date: Fri, 23 Sep 2016 03:32:45 -0700 Subject: [PATCH 54/85] Update bug fixes/enhancements --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e05edd3..0707b1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - @danschultzer updated node-pre-gyp to fix load of node-opencv in electron runtime. - @andreasgal made `matrix.getData` work with RGB images. - @Evilcat325 added `matrix.MatchTemplateByMatrix` method. +- @danschultzer added code coverage. # Bug fixes - @dominikdolancic fixed image load issue in `matrix.matchTemplate()`. @@ -20,6 +21,7 @@ - @mcwhittemore fixed dissimilarity example image load. - @saoron fixed dead index.html documentup source. - @andreasgal fixed an issue with `matrix.crop` (and potentially others), where `matrix.getData` ends up returning less than full matrix. +- @danschultzer fixed `examples/test.js` channel issue, and problematic Vec3b casting (instead of Vec3f) in `matrix.set`. ## Backwards incompatible changes - @dxprog changed readImage to load image with `CV_LOAD_IMAGE_UNCHANGED` instead of `CV_LOAD_IMAGE_COLOR`. The latter returned the image as 3-channel. From 8c1b5e401b9e09f6751dca685346869a97f38929 Mon Sep 17 00:00:00 2001 From: Matt Hackmann Date: Thu, 6 Oct 2016 10:06:20 -0700 Subject: [PATCH 55/85] handles colors with less-/more-than three channels --- examples/files/alpha-test.png | Bin 0 -> 815 bytes src/Matrix.cc | 37 +++++++++++++++++++++++++++++----- test/unit.js | 26 ++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 examples/files/alpha-test.png diff --git a/examples/files/alpha-test.png b/examples/files/alpha-test.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a64a7dad56a03369e8045d08cf35b623f6a6d1 GIT binary patch literal 815 zcmeAS@N?(olHy`uVBq!ia0vp^DIm objColor) { - Local valB = objColor->Get(0); - Local valG = objColor->Get(1); - Local valR = objColor->Get(2); + cv::Scalar color; + Local val1; + Local val2; + Local val3; + Local val4; + + // We'll accomodate a channel count up to 4 and fall back to the old + // "assume it's always 3" in the default case + if (!objColor->HasRealIndexedProperty(1)) { + val1 = objColor->Get(0); + color = cv::Scalar(val1->IntegerValue()); + } else if (!objColor->HasRealIndexedProperty(2)) { + val1 = objColor->Get(0); + val2 = objColor->Get(1); + color = cv::Scalar(val1->IntegerValue(), val2->IntegerValue()); + } else if (!objColor->HasRealIndexedProperty(4)) { + val1 = objColor->Get(0); + val2 = objColor->Get(1); + val3 = objColor->Get(2); + val4 = objColor->Get(3); + color = cv::Scalar(val1->IntegerValue(), + val2->IntegerValue(), + val3->IntegerValue(), + val4->IntegerValue()); + } else { + val1 = objColor->Get(0); + val2 = objColor->Get(1); + val3 = objColor->Get(2); + color = cv::Scalar(val1->IntegerValue(), + val2->IntegerValue(), + val3->IntegerValue()); + } - cv::Scalar color = cv::Scalar(valB->IntegerValue(), valG->IntegerValue(), - valR->IntegerValue()); return color; } diff --git a/test/unit.js b/test/unit.js index 412eef3..09117aa 100755 --- a/test/unit.js +++ b/test/unit.js @@ -391,5 +391,31 @@ test('MatchTemplateByMatrix', function(assert) { }) }); +test('setColor works will alpha channels', function(assert) { + var cv = require('../lib/opencv'); + var mat = new cv.Matrix(100, 100, cv.Constants.CV_8UC4); + + var SQUARE = [ 50, 50 ]; + mat.rectangle([ 0, 0 ], SQUARE, [ 0, 187, 255, 255 ], -1); + mat.rectangle([ 0, 50 ], SQUARE, [ 0, 187, 124, 200 ], -1); + mat.rectangle([ 50, 0 ], SQUARE, [ 241, 161, 0, 128 ], -1); + mat.rectangle([ 50, 50 ], SQUARE, [ 20, 83, 246, 70 ], -1); + + cv.readImage('./examples/files/alpha-test.png', function(err, imgMat) { + if (!err) { + var diff = new cv.Matrix(); + diff.absDiff(mat, imgMat); + // We'll verify that each channel is 0 + var channels = diff.split(); + for (var i = 0; i < 4; i++) { + assert.equal(channels[i].countNonZero(), 0); + } + } else { + throw err; + } + assert.end(); + }); +}); + // Test the examples folder. require('./examples')() From 7092c89d0c0fad2ca99182271472ce6f9dcbd61c Mon Sep 17 00:00:00 2001 From: Jonas Wagner Date: Wed, 19 Oct 2016 23:34:34 +0200 Subject: [PATCH 56/85] Change name of DEBUG environment variable fixes #452 --- Makefile | 2 +- lib/bindings.js | 2 +- test/unit.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 57821d8..9a6db0a 100644 --- a/Makefile +++ b/Makefile @@ -84,7 +84,7 @@ coverage/addon.info: coverage/lcov.info lcov --capture --base-directory build/ --directory . --output-file coverage/addon.info # This generates the JS lcov info as well as gcov `*.gcda` files: coverage/lcov.info: $(test_deps) $(ISTANBUL) - DEBUG=true $(NODE) --nouse_idle_notification --expose-gc \ + NODE_OPENCV_DEBUG=true $(NODE) --nouse_idle_notification --expose-gc \ $(ISTANBUL) cover --report lcovonly -- test/unit.js $(NODE_PRE_GYP): diff --git a/lib/bindings.js b/lib/bindings.js index 8974ac0..62e551b 100755 --- a/lib/bindings.js +++ b/lib/bindings.js @@ -1,6 +1,6 @@ var binary = require('node-pre-gyp'); var path = require('path'); -var binding_path = binary.find(path.resolve(path.join(__dirname,'../package.json')), { debug: !!process.env.DEBUG }); +var binding_path = binary.find(path.resolve(path.join(__dirname,'../package.json')), { debug: !!process.env.NODE_OPENCV_DEBUG }); var binding = require(binding_path); //module.exports = require('../build/Release/opencv.node'); diff --git a/test/unit.js b/test/unit.js index 412eef3..a003ea2 100755 --- a/test/unit.js +++ b/test/unit.js @@ -335,7 +335,7 @@ test('LDA Wrap', function(assert) { test('Native Matrix', function(assert) { - var nativemat = require('../build/' + (!!process.env.DEBUG ? 'Debug' : 'Release') + '/test_nativemat.node'); + var nativemat = require('../build/' + (!!process.env.NODE_OPENCV_DEBUG ? 'Debug' : 'Release') + '/test_nativemat.node'); var mat = new cv.Matrix(42, 8); assert.deepEqual(mat.size(), nativemat.size(mat), 'nativemat'); From a6eb86c9e9cd84153a60d25c8b76cb16e6404a8e Mon Sep 17 00:00:00 2001 From: Jonas Wagner Date: Thu, 20 Oct 2016 00:46:24 +0200 Subject: [PATCH 57/85] Change DEBUG environment variable in .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d522dab..dbd779e 100755 --- a/.travis.yml +++ b/.travis.yml @@ -55,7 +55,7 @@ install: - npm install # build from source, run test and generate code coverage - make cover - - DEBUG=true node lib/opencv.js + - NODE_OPENCV_DEBUG=true node lib/opencv.js - docker build -t peterbraden/node-opencv-ubuntu-12-04 -f test/Dockerfile-ubuntu-12-04 . - docker build -t peterbraden/node-opencv-ubuntu-14-04 -f test/Dockerfile-ubuntu-14-04 . From c80577f039c29ae6269d9d04a3bcd5e87c933ed5 Mon Sep 17 00:00:00 2001 From: Ollie Relph Date: Thu, 20 Oct 2016 11:19:45 +0100 Subject: [PATCH 58/85] Add support for lineType and offset for drawContours --- src/Matrix.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index faff68d..a70c125 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -1486,7 +1486,16 @@ NAN_METHOD(Matrix::DrawContour) { } int thickness = info.Length() < 4 ? 1 : info[3]->NumberValue(); - cv::drawContours(self->mat, cont->contours, pos, color, thickness); + int lineType = info.Length() < 5 ? 8 : info[4]->NumberValue(); + int maxLevel = 0; + + cv::Point offset; + if (info.Length() == 6) { + Local _offset = Local::Cast(info[5]); + offset = cv::Point(_offset->Get(0)->ToNumber()->Value(), _offset->Get(1)->ToNumber()->Value()); + } + + cv::drawContours(self->mat, cont->contours, pos, color, thickness, lineType, cv::noArray(), maxLevel, offset); return; } From d3c18389c6f3c5bc8f5c64c95dea841f504beaa6 Mon Sep 17 00:00:00 2001 From: Ollie Relph Date: Thu, 20 Oct 2016 11:39:25 +0100 Subject: [PATCH 59/85] Add an example --- examples/contours.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/contours.js b/examples/contours.js index 43bb0ac..238ca04 100755 --- a/examples/contours.js +++ b/examples/contours.js @@ -25,13 +25,15 @@ cv.readImage('./files/stuff.png', function(err, im) { im_canny.dilate(nIters); contours = im_canny.findContours(); + const lineType = 8; + const thickness = 1; for(i = 0; i < contours.size(); i++) { if(contours.area(i) > maxArea) { var moments = contours.moments(i); var cgx = Math.round(moments.m10 / moments.m00); var cgy = Math.round(moments.m01 / moments.m00); - big.drawContour(contours, i, GREEN); + big.drawContour(contours, i, GREEN, thickness, lineType, [0, 0]); big.line([cgx - 5, cgy], [cgx + 5, cgy], RED); big.line([cgx, cgy - 5], [cgx, cgy + 5], RED); } From 79da65d9a56ca5f2a860a7f3e26e45651beeb2f6 Mon Sep 17 00:00:00 2001 From: Ollie Relph Date: Tue, 25 Oct 2016 11:28:34 +0100 Subject: [PATCH 60/85] Add support for maxLevel --- examples/contours.js | 3 ++- src/Matrix.cc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/contours.js b/examples/contours.js index 238ca04..dcbf48a 100755 --- a/examples/contours.js +++ b/examples/contours.js @@ -26,6 +26,7 @@ cv.readImage('./files/stuff.png', function(err, im) { contours = im_canny.findContours(); const lineType = 8; + const maxLevel = 0; const thickness = 1; for(i = 0; i < contours.size(); i++) { @@ -33,7 +34,7 @@ cv.readImage('./files/stuff.png', function(err, im) { var moments = contours.moments(i); var cgx = Math.round(moments.m10 / moments.m00); var cgy = Math.round(moments.m01 / moments.m00); - big.drawContour(contours, i, GREEN, thickness, lineType, [0, 0]); + big.drawContour(contours, i, GREEN, thickness, lineType, maxLevel, [0, 0]); big.line([cgx - 5, cgy], [cgx + 5, cgy], RED); big.line([cgx, cgy - 5], [cgx, cgy + 5], RED); } diff --git a/src/Matrix.cc b/src/Matrix.cc index a70c125..3d5db2d 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -1487,7 +1487,7 @@ NAN_METHOD(Matrix::DrawContour) { int thickness = info.Length() < 4 ? 1 : info[3]->NumberValue(); int lineType = info.Length() < 5 ? 8 : info[4]->NumberValue(); - int maxLevel = 0; + int maxLevel = info.Length() < 6 ? 0 : info[5]->NumberValue(); cv::Point offset; if (info.Length() == 6) { From 74c8f4e347ec8bc70bab95bbbde769c212594792 Mon Sep 17 00:00:00 2001 From: Ollie Relph Date: Tue, 25 Oct 2016 11:36:07 +0100 Subject: [PATCH 61/85] Use the contour hierarchy that's been passed --- src/Matrix.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 3d5db2d..170c913 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -1495,7 +1495,7 @@ NAN_METHOD(Matrix::DrawContour) { offset = cv::Point(_offset->Get(0)->ToNumber()->Value(), _offset->Get(1)->ToNumber()->Value()); } - cv::drawContours(self->mat, cont->contours, pos, color, thickness, lineType, cv::noArray(), maxLevel, offset); + cv::drawContours(self->mat, cont->contours, pos, color, thickness, lineType, cont->hierarchy, maxLevel, offset); return; } From cfd37e48348ba17f0e194ae24c7cc1d9502e0249 Mon Sep 17 00:00:00 2001 From: The Alchemist Date: Wed, 26 Oct 2016 22:32:27 -0400 Subject: [PATCH 62/85] Fix typo: datastructure should be two words --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 15944d4..dd45f15 100755 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ cv.readImage("./examples/files/mona.png", function(err, im){ ### Matrix The [matrix](http://opencv.jp/opencv-2svn_org/cpp/core_basic_structures.html#mat) is the most useful -base datastructure in OpenCV. Things like images are just matrices of pixels. +base data structure in OpenCV. Things like images are just matrices of pixels. #### Creation From bd9e313297a780498457b0cbdad9eb6c176eae52 Mon Sep 17 00:00:00 2001 From: Matt Hackmann Date: Sat, 29 Oct 2016 11:21:17 -0700 Subject: [PATCH 63/85] cleaned up setColor clean up --- src/Matrix.cc | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 419e0be..2e09975 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -1598,39 +1598,27 @@ NAN_METHOD(Matrix::HoughCircles) { cv::Scalar setColor(Local objColor) { cv::Scalar color; - Local val1; - Local val2; - Local val3; - Local val4; + int64_t channels[4] = { 0, 0, 0, 0 }; // We'll accomodate a channel count up to 4 and fall back to the old // "assume it's always 3" in the default case if (!objColor->HasRealIndexedProperty(1)) { - val1 = objColor->Get(0); - color = cv::Scalar(val1->IntegerValue()); + channels[0] = objColor->Get(0)->IntegerValue(); } else if (!objColor->HasRealIndexedProperty(2)) { - val1 = objColor->Get(0); - val2 = objColor->Get(1); - color = cv::Scalar(val1->IntegerValue(), val2->IntegerValue()); + channels[0] = objColor->Get(0)->IntegerValue(); + channels[1] = objColor->Get(1)->IntegerValue(); } else if (!objColor->HasRealIndexedProperty(4)) { - val1 = objColor->Get(0); - val2 = objColor->Get(1); - val3 = objColor->Get(2); - val4 = objColor->Get(3); - color = cv::Scalar(val1->IntegerValue(), - val2->IntegerValue(), - val3->IntegerValue(), - val4->IntegerValue()); + channels[0] = objColor->Get(0)->IntegerValue(); + channels[1] = objColor->Get(1)->IntegerValue(); + channels[2] = objColor->Get(2)->IntegerValue(); + channels[3] = objColor->Get(3)->IntegerValue(); } else { - val1 = objColor->Get(0); - val2 = objColor->Get(1); - val3 = objColor->Get(2); - color = cv::Scalar(val1->IntegerValue(), - val2->IntegerValue(), - val3->IntegerValue()); + channels[0] = objColor->Get(0)->IntegerValue(); + channels[1] = objColor->Get(1)->IntegerValue(); + channels[2] = objColor->Get(2)->IntegerValue(); } - return color; + return cv::Scalar(channels[0], channels[1], channels[2], channels[3]); } cv::Point setPoint(Local objPoint) { From 64774c23723e19c4a4b806fc80973264a356aa63 Mon Sep 17 00:00:00 2001 From: Matt Hackmann Date: Sat, 29 Oct 2016 11:43:08 -0700 Subject: [PATCH 64/85] removed unneeded variable from setColor --- src/Matrix.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 2e09975..313a322 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -1597,7 +1597,6 @@ NAN_METHOD(Matrix::HoughCircles) { } cv::Scalar setColor(Local objColor) { - cv::Scalar color; int64_t channels[4] = { 0, 0, 0, 0 }; // We'll accomodate a channel count up to 4 and fall back to the old From 1300265317ff07a1a157051ea3fef2b605488492 Mon Sep 17 00:00:00 2001 From: Piercus Date: Mon, 7 Nov 2016 22:07:01 +0100 Subject: [PATCH 65/85] add dct method --- src/Matrix.cc | 19 +++++++++++++++++++ src/Matrix.h | 1 + 2 files changed, 20 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index 06dbce4..d95ab1e 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -65,6 +65,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "roi", ROI); Nan::SetPrototypeMethod(ctor, "ptr", Ptr); Nan::SetPrototypeMethod(ctor, "absDiff", AbsDiff); + Nan::SetPrototypeMethod(ctor, "dct", Dct); Nan::SetPrototypeMethod(ctor, "addWeighted", AddWeighted); Nan::SetPrototypeMethod(ctor, "bitwiseXor", BitwiseXor); Nan::SetPrototypeMethod(ctor, "bitwiseNot", BitwiseNot); @@ -1277,6 +1278,24 @@ NAN_METHOD(Matrix::AbsDiff) { info.GetReturnValue().Set(Nan::Null()); } +NAN_METHOD(Matrix::Dct) { + Nan::HandleScope scope; + + Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); + int cols = self->mat.cols; + int rows = self->mat.rows; + + bool inverse = info[1]->ToBoolean()->Value(); + + Local out = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *m_out = Nan::ObjectWrap::Unwrap(out); + m_out->mat.create(rows, cols, CV_32F); + + cv::dct(self->mat, m_out->mat, inverse ? 1 : 0); + + info.GetReturnValue().Set(out); +} + NAN_METHOD(Matrix::AddWeighted) { Nan::HandleScope scope; diff --git a/src/Matrix.h b/src/Matrix.h index ffa8ca6..ee337e6 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -68,6 +68,7 @@ public: JSFUNC(ROI) JSFUNC(Ptr) JSFUNC(AbsDiff) + JSFUNC(Dct) JSFUNC(AddWeighted) JSFUNC(BitwiseXor) JSFUNC(BitwiseNot) From efe9776c5d3641250876a6cc88e2a537017b69f1 Mon Sep 17 00:00:00 2001 From: Piercus Date: Mon, 7 Nov 2016 22:10:50 +0100 Subject: [PATCH 66/85] add example for dct --- examples/mat-dct.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 examples/mat-dct.js diff --git a/examples/mat-dct.js b/examples/mat-dct.js new file mode 100644 index 0000000..b3fa89f --- /dev/null +++ b/examples/mat-dct.js @@ -0,0 +1,22 @@ +var cv = require('../lib/opencv'); + +cv.readImage("./files/mona.png", function(err, orig) { + if (err) throw err; + + var chan1 = orig.split()[0]; + + var floatInputMatrix = new cv.Matrix(); + chan1.convertTo(floatInputMatrix, cv.Constants.CV_32F) + + var foatAfterDct = floatInputMatrix.dct(); + + // for inverse dct, set argument to "true" + var afterDoubleDct = foatAfterDct.dct(true); + + var intOutImage = new cv.Matrix(); + + afterDoubleDct.convertTo(intOutImage, cv.Constants.CV_8U); + intOutImage.save("./tmp/dct.png"); + console.log('Image saved to ./tmp/dct.png'); + +}); From 081a36a9959a1e4ddc0539c4b3af7b2ddbbd25ae Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Tue, 8 Nov 2016 12:49:56 +0100 Subject: [PATCH 67/85] get experimentations --- examples/mat-get.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 examples/mat-get.js diff --git a/examples/mat-get.js b/examples/mat-get.js new file mode 100644 index 0000000..f27cbe0 --- /dev/null +++ b/examples/mat-get.js @@ -0,0 +1,30 @@ +var cv = require('../lib/opencv'); + +cv.readImage("./files/mona.png", function(err, orig) { + if (err) throw err; + + var chan1 = orig.split()[0]; + + var floatMatrix = new cv.Matrix(); + var chan1Back = new cv.Matrix(); + + chan1.convertTo(floatMatrix, cv.Constants.CV_32F); + floatMatrix.convertTo(chan1Back, cv.Constants.CV_8U); + + var rowId = 0; + var colId = 0; + + console.log(orig.get(rowId,colId), orig.pixel(rowId, colId)); + // ACTUAL : => -8.425768939900947e-273 [25, 51, 57] + // EXPECTED : => [25, 51, 57] (this is R : 57 G : 51 and B : 25) + console.log(chan1.get(rowId,colId), chan1.pixel(rowId, colId)); + // ACTUAL => 1.76244473776441e-105 36 + // EXPECTED => 154 + console.log(floatMatrix.get(rowId,colId), floatMatrix.pixel(rowId, colId)); + // ACTUAL => 481036405168 + // EXPECTED => 154.0 + console.log(chan1Back.get(rowId,colId), chan1Back.pixel(rowId, colId)); + // ACTUAL => 1.76244473776441e-105 + // EXPECTED => 154 + +}); From 749e27aaf951563082aa533907c0517021b9f194 Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Tue, 8 Nov 2016 14:33:38 +0100 Subject: [PATCH 68/85] change to get from CV_32F Matrix --- src/Matrix.cc | 3 +++ test/unit.js | 1 + 2 files changed, 4 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index d95ab1e..72d54bd 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -208,6 +208,9 @@ double Matrix::DblGet(cv::Mat mat, int i, int j) { case CV_64FC1: val = mat.at(i, j); break; + case CV_32FC1: + val = mat.at(i, j); + break; default: val = mat.at(i, j); break; diff --git a/test/unit.js b/test/unit.js index c28ad04..2fc9ce4 100755 --- a/test/unit.js +++ b/test/unit.js @@ -105,6 +105,7 @@ test('Matrix functions', function(assert) { var matNew = new cv.Matrix(75, 75, cv.Constants.CV_8U); mat.convertTo(matNew, cv.Constants.CV_8U, 2, 1); assert.equal(matNew.pixel(0, 0), 5); + assert.equal(mat.get(0, 0), 5) // reshape mat = new cv.Matrix(75, 75, cv.Constants.CV_8UC1); From 9a90480d9b4885d9224d2fd783f224bd7194981b Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Tue, 8 Nov 2016 14:41:54 +0100 Subject: [PATCH 69/85] adding unit test to get on Float --- test/unit.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/unit.js b/test/unit.js index 2fc9ce4..97767f3 100755 --- a/test/unit.js +++ b/test/unit.js @@ -103,9 +103,10 @@ test('Matrix functions', function(assert) { // convertTo var mat = new cv.Matrix(75, 75, cv.Constants.CV_32F, [2.0]); var matNew = new cv.Matrix(75, 75, cv.Constants.CV_8U); - mat.convertTo(matNew, cv.Constants.CV_8U, 2, 1); - assert.equal(matNew.pixel(0, 0), 5); - assert.equal(mat.get(0, 0), 5) + var alpha = 2; + var beta = 1; + mat.convertTo(matNew, cv.Constants.CV_8U, alpha, beta); + assert.equal(matNew.pixel(0, 0), mat.get(0, 0)*alpha + beta); // reshape mat = new cv.Matrix(75, 75, cv.Constants.CV_8UC1); From a764ff83b5d2c515969cd50683c68fee1a8f9c07 Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Tue, 8 Nov 2016 14:45:24 +0100 Subject: [PATCH 70/85] examples/mat-get.js not useful anymore, now unit test has been written --- examples/mat-get.js | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 examples/mat-get.js diff --git a/examples/mat-get.js b/examples/mat-get.js deleted file mode 100644 index f27cbe0..0000000 --- a/examples/mat-get.js +++ /dev/null @@ -1,30 +0,0 @@ -var cv = require('../lib/opencv'); - -cv.readImage("./files/mona.png", function(err, orig) { - if (err) throw err; - - var chan1 = orig.split()[0]; - - var floatMatrix = new cv.Matrix(); - var chan1Back = new cv.Matrix(); - - chan1.convertTo(floatMatrix, cv.Constants.CV_32F); - floatMatrix.convertTo(chan1Back, cv.Constants.CV_8U); - - var rowId = 0; - var colId = 0; - - console.log(orig.get(rowId,colId), orig.pixel(rowId, colId)); - // ACTUAL : => -8.425768939900947e-273 [25, 51, 57] - // EXPECTED : => [25, 51, 57] (this is R : 57 G : 51 and B : 25) - console.log(chan1.get(rowId,colId), chan1.pixel(rowId, colId)); - // ACTUAL => 1.76244473776441e-105 36 - // EXPECTED => 154 - console.log(floatMatrix.get(rowId,colId), floatMatrix.pixel(rowId, colId)); - // ACTUAL => 481036405168 - // EXPECTED => 154.0 - console.log(chan1Back.get(rowId,colId), chan1Back.pixel(rowId, colId)); - // ACTUAL => 1.76244473776441e-105 - // EXPECTED => 154 - -}); From 2bce0b7cd273c7c21fc1d260d4329925878db93b Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Wed, 9 Nov 2016 09:16:04 +0100 Subject: [PATCH 71/85] image signature, slow but working --- examples/mat-dct.js | 116 ++++++++++++++++++++++++++++++++++++++++---- src/Matrix.cc | 24 +++++++-- src/Matrix.h | 3 +- 3 files changed, 130 insertions(+), 13 deletions(-) diff --git a/examples/mat-dct.js b/examples/mat-dct.js index b3fa89f..ec9d193 100644 --- a/examples/mat-dct.js +++ b/examples/mat-dct.js @@ -1,22 +1,120 @@ var cv = require('../lib/opencv'); +var createGaussianKernel = function(sigma){ + var cst = 1; + var denom = (2*sigma*sigma); + var factor = 100; + return { + get : function(i,j){ + //console.log(cst, denom, ((i/10)*(i/10)+(j/10)*(j/10)), denom, Math.exp((i*i+j*j)/denom)) + return cst*Math.exp(-1*(i*i+j*j)/denom); + } + } +}; + +var convolve = function(m1, m2){ + var nCols = m1.width(); + var nRows = m1.height(); + + var max = 0; + + var res = new cv.Matrix(nRows, nCols, cv.Constants.CV_32FC1); + + for(var i = 0; i < nCols; i++){ + for(var j = 0; j < nRows; j++){ + sum = 0; + + for(var i2 = i-nCols+1; i2 <= i; i2++){ + for(var j2 = j-nRows+1; j2 <= j; j2++){ + sum += m1.get(i-i2,j-j2)*m2.get(i2,j2) + if(isNaN(sum)){ + console.log(m1.get(i-i2,j-j2),m2.get(i2,j2), i-i2,i2,j-j2,j2) + throw("sum is NaN") + } + } + } + //console.log(sum) + + if(sum > max){ + max = sum + } + + res.set(i,j, sum); + } + } + //console.log(max); + + for(var i = 0; i < nCols; i++){ + for(var j = 0; j < nRows; j++){ + res.set(i,j, res.get(i,j)/max); + } + } + return res; + +}; + +var getSalient = function(channel){ + var floatInputMatrix = new cv.Matrix(); + channel.convertTo(floatInputMatrix, cv.Constants.CV_32F); + var floatAfterDct = floatInputMatrix.dct(); + + var nCols = channel.width(); + var nRows = channel.height(); + + var signs = new cv.Matrix(nRows, nCols, cv.Constants.CV_32FC1); + var arr = []; + for(var i = 0; i < nCols; i++){ + var row = []; + for(var j = 0; j < nRows; j++){ + if(floatAfterDct.get(i,j) < 0){ + signs.set(i, j, -1); + } else if(floatAfterDct.get(i,j) == 0){ + signs.set(i, j, 0); + } else { + signs.set(i, j, 1); + } + } + arr.push(row) + } + // for inverse dct, set argument to "true" + var afterDoubleDct = signs.idct(); + //console.log(afterDoubleDct.getData()) + var squaredFloat = new cv.Matrix(nRows, nCols, cv.Constants.CV_32FC1); + + for(var i = 0; i < nCols; i++){ + for(var j = 0; j < nRows; j++){ + var v = afterDoubleDct.get(i,j) + squaredFloat.set(i,j, v * v) + } + } + + var sigma = 0.3; + + var res = convolve(squaredFloat, createGaussianKernel(sigma)) + var outChannel = new cv.Matrix(nRows, nCols, cv.Constants.CV_8U); + + res.convertTo(outChannel, cv.Constants.CV_8U, 255); + + return outChannel; +}; + cv.readImage("./files/mona.png", function(err, orig) { if (err) throw err; - var chan1 = orig.split()[0]; + orig.resize(64, 64); - var floatInputMatrix = new cv.Matrix(); - chan1.convertTo(floatInputMatrix, cv.Constants.CV_32F) + var channels = orig.split(); + var outChannels = []; - var foatAfterDct = floatInputMatrix.dct(); + for(var chanIdx = 0; chanIdx < channels.length; chanIdx++){ + outChannels.push(getSalient(channels[chanIdx])); + } - // for inverse dct, set argument to "true" - var afterDoubleDct = foatAfterDct.dct(true); + var outImg = new cv.Matrix() - var intOutImage = new cv.Matrix(); + outImg.merge(outChannels) - afterDoubleDct.convertTo(intOutImage, cv.Constants.CV_8U); - intOutImage.save("./tmp/dct.png"); + outImg.save("./tmp/dct.png"); console.log('Image saved to ./tmp/dct.png'); }); diff --git a/src/Matrix.cc b/src/Matrix.cc index 72d54bd..ddcd592 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -66,6 +66,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "ptr", Ptr); Nan::SetPrototypeMethod(ctor, "absDiff", AbsDiff); Nan::SetPrototypeMethod(ctor, "dct", Dct); + Nan::SetPrototypeMethod(ctor, "idct", Idct); Nan::SetPrototypeMethod(ctor, "addWeighted", AddWeighted); Nan::SetPrototypeMethod(ctor, "bitwiseXor", BitwiseXor); Nan::SetPrototypeMethod(ctor, "bitwiseNot", BitwiseNot); @@ -290,6 +291,9 @@ NAN_METHOD(Matrix::Set) { self->mat.at(i, j)[2] = (uchar) (vint) & 0xff; // printf("!!!i %x, %x, %x", (vint >> 16) & 0xff, (vint >> 8) & 0xff, (vint) & 0xff); break; + case CV_32FC1: + self->mat.at(i, j) = val; + break; default: self->mat.at(i, j) = val; } @@ -1288,13 +1292,27 @@ NAN_METHOD(Matrix::Dct) { int cols = self->mat.cols; int rows = self->mat.rows; - bool inverse = info[1]->ToBoolean()->Value(); + Local out = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *m_out = Nan::ObjectWrap::Unwrap(out); + m_out->mat.create(cols, rows, CV_32F); + + cv::dct(self->mat, m_out->mat); + + info.GetReturnValue().Set(out); +} + +NAN_METHOD(Matrix::Idct) { + Nan::HandleScope scope; + + Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); + int cols = self->mat.cols; + int rows = self->mat.rows; Local out = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); Matrix *m_out = Nan::ObjectWrap::Unwrap(out); - m_out->mat.create(rows, cols, CV_32F); + m_out->mat.create(cols, rows, CV_32F); - cv::dct(self->mat, m_out->mat, inverse ? 1 : 0); + cv::idct(self->mat, m_out->mat); info.GetReturnValue().Set(out); } diff --git a/src/Matrix.h b/src/Matrix.h index ee337e6..cf9e65d 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -68,7 +68,8 @@ public: JSFUNC(ROI) JSFUNC(Ptr) JSFUNC(AbsDiff) - JSFUNC(Dct) + JSFUNC(Dct) + JSFUNC(Idct) JSFUNC(AddWeighted) JSFUNC(BitwiseXor) JSFUNC(BitwiseNot) From fe2b18e0a75b7d2a4a6f2409cd7e75d78455ffa3 Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Wed, 9 Nov 2016 10:19:26 +0100 Subject: [PATCH 72/85] add sigma param to gaussianBlur --- src/Matrix.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index ddcd592..7fda60f 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -1100,6 +1100,7 @@ NAN_METHOD(Matrix::GaussianBlur) { cv::Mat blurred; Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); + double sigma = 0; if (info.Length() < 1) { ksize = cv::Size(5, 5); @@ -1116,9 +1117,12 @@ NAN_METHOD(Matrix::GaussianBlur) { Nan::ThrowTypeError("'ksize' argument must be a 2 double array"); } ksize = cv::Size(x->NumberValue(), y->NumberValue()); + if (info[1]->IsNumber()) { + sigma = info[1]->ToNumber()->Value(); + } } - cv::GaussianBlur(self->mat, blurred, ksize, 0); + cv::GaussianBlur(self->mat, blurred, ksize, sigma); blurred.copyTo(self->mat); info.GetReturnValue().Set(Nan::Null()); From 430976cb1a31366d0bf0342dd54fd84b3a14b7c6 Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Wed, 9 Nov 2016 10:20:33 +0100 Subject: [PATCH 73/85] wrap add function --- src/Matrix.cc | 24 ++++++++++++++++++++++++ src/Matrix.h | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 7fda60f..46be360 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -68,6 +68,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "dct", Dct); Nan::SetPrototypeMethod(ctor, "idct", Idct); Nan::SetPrototypeMethod(ctor, "addWeighted", AddWeighted); + Nan::SetPrototypeMethod(ctor, "add", Add); Nan::SetPrototypeMethod(ctor, "bitwiseXor", BitwiseXor); Nan::SetPrototypeMethod(ctor, "bitwiseNot", BitwiseNot); Nan::SetPrototypeMethod(ctor, "bitwiseAnd", BitwiseAnd); @@ -1342,6 +1343,29 @@ NAN_METHOD(Matrix::AddWeighted) { info.GetReturnValue().Set(Nan::Null()); } +NAN_METHOD(Matrix::Add) { + Nan::HandleScope scope; + + Matrix *self = Nan::ObjectWrap::Unwrap(info.This()); + int cols = self->mat.cols; + int rows = self->mat.rows; + + Matrix *src1 = Nan::ObjectWrap::Unwrap(info[0]->ToObject()); + + Local out = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *m_out = Nan::ObjectWrap::Unwrap(out); + m_out->mat.create(cols, rows, self->mat.type()); + + try { + cv::add(self->mat, src1->mat, m_out->mat); + } catch(cv::Exception& e ) { + const char* err_msg = e.what(); + Nan::ThrowError(err_msg); + } + + info.GetReturnValue().Set(out); +} + NAN_METHOD(Matrix::BitwiseXor) { Nan::HandleScope scope; diff --git a/src/Matrix.h b/src/Matrix.h index cf9e65d..7aaf473 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -69,8 +69,9 @@ public: JSFUNC(Ptr) JSFUNC(AbsDiff) JSFUNC(Dct) - JSFUNC(Idct) + JSFUNC(Idct) JSFUNC(AddWeighted) + JSFUNC(Add) JSFUNC(BitwiseXor) JSFUNC(BitwiseNot) JSFUNC(BitwiseAnd) From aeb2618a345dd7a180faa505d74a1b735da07202 Mon Sep 17 00:00:00 2001 From: Pierre Colle Date: Sat, 12 Nov 2016 17:34:06 +0100 Subject: [PATCH 74/85] revert dct example --- examples/mat-dct.js | 116 ++++---------------------------------------- 1 file changed, 9 insertions(+), 107 deletions(-) diff --git a/examples/mat-dct.js b/examples/mat-dct.js index ec9d193..b3fa89f 100644 --- a/examples/mat-dct.js +++ b/examples/mat-dct.js @@ -1,120 +1,22 @@ var cv = require('../lib/opencv'); -var createGaussianKernel = function(sigma){ - var cst = 1; - var denom = (2*sigma*sigma); - var factor = 100; - return { - get : function(i,j){ - //console.log(cst, denom, ((i/10)*(i/10)+(j/10)*(j/10)), denom, Math.exp((i*i+j*j)/denom)) - return cst*Math.exp(-1*(i*i+j*j)/denom); - } - } -}; - -var convolve = function(m1, m2){ - var nCols = m1.width(); - var nRows = m1.height(); - - var max = 0; - - var res = new cv.Matrix(nRows, nCols, cv.Constants.CV_32FC1); - - for(var i = 0; i < nCols; i++){ - for(var j = 0; j < nRows; j++){ - sum = 0; - - for(var i2 = i-nCols+1; i2 <= i; i2++){ - for(var j2 = j-nRows+1; j2 <= j; j2++){ - sum += m1.get(i-i2,j-j2)*m2.get(i2,j2) - if(isNaN(sum)){ - console.log(m1.get(i-i2,j-j2),m2.get(i2,j2), i-i2,i2,j-j2,j2) - throw("sum is NaN") - } - } - } - //console.log(sum) - - if(sum > max){ - max = sum - } - - res.set(i,j, sum); - } - } - //console.log(max); - - for(var i = 0; i < nCols; i++){ - for(var j = 0; j < nRows; j++){ - res.set(i,j, res.get(i,j)/max); - } - } - return res; - -}; - -var getSalient = function(channel){ - var floatInputMatrix = new cv.Matrix(); - channel.convertTo(floatInputMatrix, cv.Constants.CV_32F); - var floatAfterDct = floatInputMatrix.dct(); - - var nCols = channel.width(); - var nRows = channel.height(); - - var signs = new cv.Matrix(nRows, nCols, cv.Constants.CV_32FC1); - var arr = []; - for(var i = 0; i < nCols; i++){ - var row = []; - for(var j = 0; j < nRows; j++){ - if(floatAfterDct.get(i,j) < 0){ - signs.set(i, j, -1); - } else if(floatAfterDct.get(i,j) == 0){ - signs.set(i, j, 0); - } else { - signs.set(i, j, 1); - } - } - arr.push(row) - } - // for inverse dct, set argument to "true" - var afterDoubleDct = signs.idct(); - //console.log(afterDoubleDct.getData()) - var squaredFloat = new cv.Matrix(nRows, nCols, cv.Constants.CV_32FC1); - - for(var i = 0; i < nCols; i++){ - for(var j = 0; j < nRows; j++){ - var v = afterDoubleDct.get(i,j) - squaredFloat.set(i,j, v * v) - } - } - - var sigma = 0.3; - - var res = convolve(squaredFloat, createGaussianKernel(sigma)) - var outChannel = new cv.Matrix(nRows, nCols, cv.Constants.CV_8U); - - res.convertTo(outChannel, cv.Constants.CV_8U, 255); - - return outChannel; -}; - cv.readImage("./files/mona.png", function(err, orig) { if (err) throw err; - orig.resize(64, 64); + var chan1 = orig.split()[0]; - var channels = orig.split(); - var outChannels = []; + var floatInputMatrix = new cv.Matrix(); + chan1.convertTo(floatInputMatrix, cv.Constants.CV_32F) - for(var chanIdx = 0; chanIdx < channels.length; chanIdx++){ - outChannels.push(getSalient(channels[chanIdx])); - } + var foatAfterDct = floatInputMatrix.dct(); - var outImg = new cv.Matrix() + // for inverse dct, set argument to "true" + var afterDoubleDct = foatAfterDct.dct(true); - outImg.merge(outChannels) + var intOutImage = new cv.Matrix(); - outImg.save("./tmp/dct.png"); + afterDoubleDct.convertTo(intOutImage, cv.Constants.CV_8U); + intOutImage.save("./tmp/dct.png"); console.log('Image saved to ./tmp/dct.png'); }); From edc9a6ecabe794cf36fbfb3307da3548d4be4621 Mon Sep 17 00:00:00 2001 From: NatureFeng <691731385@qq.com> Date: Tue, 15 Nov 2016 14:17:43 +0800 Subject: [PATCH 75/85] remove duplicate crop function set --- src/Matrix.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Matrix.cc b/src/Matrix.cc index 72d54bd..43c5f6e 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -80,7 +80,6 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "drawAllContours", DrawAllContours); Nan::SetPrototypeMethod(ctor, "goodFeaturesToTrack", GoodFeaturesToTrack); Nan::SetPrototypeMethod(ctor, "houghLinesP", HoughLinesP); - Nan::SetPrototypeMethod(ctor, "crop", Crop); Nan::SetPrototypeMethod(ctor, "houghCircles", HoughCircles); Nan::SetPrototypeMethod(ctor, "inRange", inRange); Nan::SetPrototypeMethod(ctor, "adjustROI", AdjustROI); From b8419a842ab73070384ec1b8dde7c18ef6dd3a7b Mon Sep 17 00:00:00 2001 From: Craig Valente Date: Mon, 12 Dec 2016 20:23:38 -0500 Subject: [PATCH 76/85] Add support for the 'Oriented' area flag in contourArea --- src/Contours.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Contours.cc b/src/Contours.cc index 49f2bd9..5ef5bf8 100755 --- a/src/Contours.cc +++ b/src/Contours.cc @@ -115,9 +115,10 @@ NAN_METHOD(Contour::Area) { Contour *self = Nan::ObjectWrap::Unwrap(info.This()); int pos = info[0]->NumberValue(); + bool orientation = (info.Length() > 1 && info[1]->BooleanValue()); // info.GetReturnValue().Set(Nan::New(contourArea(self->contours))); - info.GetReturnValue().Set(Nan::New(contourArea(cv::Mat(self->contours[pos])))); + info.GetReturnValue().Set(Nan::New(contourArea(cv::Mat(self->contours[pos]), orientation))); } NAN_METHOD(Contour::ArcLength) { From d05dfa67e0e20dcd56c27f6bc4358b20969666d1 Mon Sep 17 00:00:00 2001 From: Edward Ocampo-Gooding Date: Wed, 14 Dec 2016 11:19:01 -0500 Subject: [PATCH 77/85] Updates README link to Viola-Jones Haar Cascade --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dd45f15..22b49aa 100755 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ im.line([x1,y1], [x2, y2]) #### Object Detection There is a shortcut method for -[Viola-Jones Haar Cascade](http://www.cognotics.com/opencv/servo_2007_series/part_2/sidebar.html) object +[Viola-Jones Haar Cascade](http://docs.opencv.org/trunk/d7/d8b/tutorial_py_face_detection.html) object detection. This can be used for face detection etc. ```javascript From 12e3c6e25ce5f0e67a58eb03f3d60d8d464bafb0 Mon Sep 17 00:00:00 2001 From: boelroy Date: Tue, 17 Jan 2017 16:13:20 +0800 Subject: [PATCH 78/85] add the type function in Matrix class --- src/Matrix.cc | 7 +++++++ src/Matrix.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index 72d54bd..0d3665f 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -35,6 +35,7 @@ void Matrix::Init(Local target) { Nan::SetPrototypeMethod(ctor, "pixel", Pixel); Nan::SetPrototypeMethod(ctor, "width", Width); Nan::SetPrototypeMethod(ctor, "height", Height); + Nan::SetPrototypeMethod(ctor, "type", Type); Nan::SetPrototypeMethod(ctor, "size", Size); Nan::SetPrototypeMethod(ctor, "clone", Clone); Nan::SetPrototypeMethod(ctor, "crop", Crop); @@ -497,6 +498,12 @@ NAN_METHOD(Matrix::Size) { info.GetReturnValue().Set(arr); } +NAN_METHOD(Matrix::Type) { + SETUP_FUNCTION(Matrix) + + info.GetReturnValue().Set(Nan::New(self->mat.type())); +} + NAN_METHOD(Matrix::Clone) { SETUP_FUNCTION(Matrix) diff --git a/src/Matrix.h b/src/Matrix.h index ee337e6..03fc112 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -36,6 +36,7 @@ public: JSFUNC(Size) JSFUNC(Width) JSFUNC(Height) + JSFUNC(Type) JSFUNC(Channels) JSFUNC(Clone) JSFUNC(Ellipse) From d90fcf78e0a7c42d603c65f965bee31c146c6ec8 Mon Sep 17 00:00:00 2001 From: Nathan Graves Date: Thu, 16 Feb 2017 16:38:51 -0800 Subject: [PATCH 79/85] Added binding to imreadmulti with test case for included .tif file. --- examples/files/multipage.tif | Bin 0 -> 849644 bytes src/OpenCV.cc | 41 +++++++++++++++++++++++++++++++++++ src/OpenCV.h | 1 + test/unit.js | 14 ++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 examples/files/multipage.tif diff --git a/examples/files/multipage.tif b/examples/files/multipage.tif new file mode 100644 index 0000000000000000000000000000000000000000..17d286c74c7b458e0d4370f620df9caaf1ace58a GIT binary patch literal 849644 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 z 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�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�M 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

y1XUwkd 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�MiG|S;5wVos*9{mD99;8{f&>muDCt5hT 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⋘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

F8boX%1FXd0eG2Lzwc)aU9VMm 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 P`Ok|!Kll>)<;#BoT)((H literal 0 HcmV?d00001 diff --git a/src/OpenCV.cc b/src/OpenCV.cc index 14a498d..329360c 100755 --- a/src/OpenCV.cc +++ b/src/OpenCV.cc @@ -11,6 +11,7 @@ void OpenCV::Init(Local target) { target->Set(Nan::New("version").ToLocalChecked(), Nan::New(out, n).ToLocalChecked()); Nan::SetMethod(target, "readImage", ReadImage); + Nan::SetMethod(target, "readImageMulti", ReadImageMulti); } NAN_METHOD(OpenCV::ReadImage) { @@ -66,3 +67,43 @@ NAN_METHOD(OpenCV::ReadImage) { return; } + +NAN_METHOD(OpenCV::ReadImageMulti) { + Nan::EscapableHandleScope scope; + + REQ_FUN_ARG(1, cb); + + Local argv[2]; + argv[0] = Nan::Null(); + + std::vector mats; + try { + if (info[0]->IsString()) { + std::string filename = std::string(*Nan::Utf8String(info[0]->ToString())); + cv::imreadmulti(filename, mats); + } + } catch (cv::Exception& e) { + argv[0] = Nan::Error(e.what()); + argv[1] = Nan::Null(); + } + + Local output = Nan::New(mats.size()); + for (std::vector::size_type i = 0; i < mats.size(); i ++) { + Local im_h = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *img = Nan::ObjectWrap::Unwrap(im_h); + img->mat = mats[i]; + + output->Set(i, im_h); + } + + argv[1] = output; + + Nan::TryCatch try_catch; + cb->Call(Nan::GetCurrentContext()->Global(), 2, argv); + + if (try_catch.HasCaught()) { + Nan::FatalException(try_catch); + } + + return; +} diff --git a/src/OpenCV.h b/src/OpenCV.h index f0ff9d3..cc9a2b9 100755 --- a/src/OpenCV.h +++ b/src/OpenCV.h @@ -67,6 +67,7 @@ public: static void Init(Local target); static NAN_METHOD(ReadImage); + static NAN_METHOD(ReadImageMulti); }; #endif diff --git a/test/unit.js b/test/unit.js index 97767f3..cc7d365 100755 --- a/test/unit.js +++ b/test/unit.js @@ -216,6 +216,20 @@ test("Image read from file", function(assert){ }) }) +test("Multi-page image read from file", function(assert){ + cv.readImageMulti("./examples/files/multipage.tif", function(err, imgs){ + assert.ok(imgs); + assert.equal(imgs.length, 10); + for (var i = 0; i < imgs.length; i++) { + assert.ok(imgs[i]); + assert.equal(imgs[i].width(), 800); + assert.equal(imgs[i].height(), 600); + assert.equal(imgs[i].channels(), 3); + assert.equal(imgs[i].empty(), false); + } + assert.end(); + }) +}) test("read Image from buffer", function(assert){ cv.readImage(fs.readFileSync('./examples/files/opencv.png'), function(err, im){ From 2e48ea0a61dc51427007be9efda95ce4f489edb1 Mon Sep 17 00:00:00 2001 From: Nathan Graves Date: Thu, 16 Feb 2017 16:43:37 -0800 Subject: [PATCH 80/85] Removed unnecessary v8:: prefixes --- src/OpenCV.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/OpenCV.cc b/src/OpenCV.cc index 329360c..1d6067b 100755 --- a/src/OpenCV.cc +++ b/src/OpenCV.cc @@ -87,7 +87,9 @@ NAN_METHOD(OpenCV::ReadImageMulti) { argv[1] = Nan::Null(); } - Local output = Nan::New(mats.size()); + Local output = Nan::New(mats.size()); + argv[1] = output; + for (std::vector::size_type i = 0; i < mats.size(); i ++) { Local im_h = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); Matrix *img = Nan::ObjectWrap::Unwrap(im_h); @@ -96,8 +98,6 @@ NAN_METHOD(OpenCV::ReadImageMulti) { output->Set(i, im_h); } - argv[1] = output; - Nan::TryCatch try_catch; cb->Call(Nan::GetCurrentContext()->Global(), 2, argv); From cfeb82d9fc494c17bb12fa18a445459cc15fbe55 Mon Sep 17 00:00:00 2001 From: Nathan Graves Date: Thu, 16 Feb 2017 16:46:55 -0800 Subject: [PATCH 81/85] Added check for mats.empty() on failed image load. --- src/OpenCV.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/OpenCV.cc b/src/OpenCV.cc index 1d6067b..7e28290 100755 --- a/src/OpenCV.cc +++ b/src/OpenCV.cc @@ -81,6 +81,10 @@ NAN_METHOD(OpenCV::ReadImageMulti) { if (info[0]->IsString()) { std::string filename = std::string(*Nan::Utf8String(info[0]->ToString())); cv::imreadmulti(filename, mats); + + if (mats.empty()) { + argv[0] = Nan::Error("Error loading file"); + } } } catch (cv::Exception& e) { argv[0] = Nan::Error(e.what()); From 592b70a3c2d8d700cd41352c4ddeb2f84eaa2431 Mon Sep 17 00:00:00 2001 From: Nathan Graves Date: Mon, 20 Feb 2017 11:08:11 -0800 Subject: [PATCH 82/85] Fixed testing for imreadmulti on OpenCV < 3, added distanceTransform function to imgproc module. --- examples/files/distanceTransform.png | Bin 0 -> 166 bytes src/Constants.cc | 11 ++++++++ src/ImgProc.cc | 33 ++++++++++++++++++++++++ src/ImgProc.h | 1 + src/OpenCV.cc | 7 +++++ test/unit.js | 37 +++++++++++++++++++-------- 6 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 examples/files/distanceTransform.png diff --git a/examples/files/distanceTransform.png b/examples/files/distanceTransform.png new file mode 100644 index 0000000000000000000000000000000000000000..c1072d56e3767f782637fe3ec06777b4b71f8d41 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^MnKHS0VEi9?pl-wq?nSt-CY>|xA&jf59DzcctjR6 zFmMZlFeAgPITAoY_7YEDSN4ZYB0|bP0l+XkK DSet(Nan::New(#C).ToLocalChecked(), Nan::New(C)); +#define CONST_INT(C) \ + obj->Set(Nan::New(#C).ToLocalChecked(), Nan::New((int)C)); + #define CONST_DOUBLE(C) \ obj->Set(Nan::New(#C).ToLocalChecked(), Nan::New(C)); @@ -90,6 +93,14 @@ void Constants::Init(Local target) { CONST_ENUM(RETR_CCOMP); CONST_ENUM(RETR_TREE); + CONST_INT(CV_DIST_C); + CONST_INT(CV_DIST_L1); + CONST_INT(CV_DIST_L2); + + CONST_INT(CV_DIST_MASK_3); + CONST_INT(CV_DIST_MASK_5); + CONST_INT(CV_DIST_MASK_PRECISE); + target->Set(Nan::New("Constants").ToLocalChecked(), obj); } diff --git a/src/ImgProc.cc b/src/ImgProc.cc index 8fa3ffb..cc56658 100644 --- a/src/ImgProc.cc +++ b/src/ImgProc.cc @@ -9,11 +9,44 @@ void ImgProc::Init(Local target) { Nan::SetMethod(obj, "undistort", Undistort); Nan::SetMethod(obj, "initUndistortRectifyMap", InitUndistortRectifyMap); Nan::SetMethod(obj, "remap", Remap); + Nan::SetMethod(obj, "distanceTransform", DistanceTransform); Nan::SetMethod(obj, "getStructuringElement", GetStructuringElement); target->Set(Nan::New("imgproc").ToLocalChecked(), obj); } +// cv::distanceTransform +NAN_METHOD(ImgProc::DistanceTransform) { + Nan::EscapableHandleScope scope; + + try { + // Arg 0 is the image + Matrix* m0 = Nan::ObjectWrap::Unwrap(info[0]->ToObject()); + cv::Mat inputImage = m0->mat; + + // Arg 1 is the distance type (CV_DIST_L1, CV_DIST_L2, etc.) + int distType = info[1]->IntegerValue();; + + // Make a mat to hold the result image + cv::Mat outputImage; + + // Perform distance transform + cv::distanceTransform(inputImage, outputImage, distType, 0); + + // Wrap the output image + Local outMatrixWrap = Nan::New(Matrix::constructor)->GetFunction()->NewInstance(); + Matrix *outMatrix = Nan::ObjectWrap::Unwrap(outMatrixWrap); + outMatrix->mat = outputImage; + + // Return the output image + info.GetReturnValue().Set(outMatrixWrap); + } catch (cv::Exception &e) { + const char *err_msg = e.what(); + Nan::ThrowError(err_msg); + return; + } +} + // cv::undistort NAN_METHOD(ImgProc::Undistort) { Nan::EscapableHandleScope scope; diff --git a/src/ImgProc.h b/src/ImgProc.h index 48f031f..8754fdd 100644 --- a/src/ImgProc.h +++ b/src/ImgProc.h @@ -9,6 +9,7 @@ class ImgProc: public Nan::ObjectWrap { public: static void Init(Local target); + static NAN_METHOD(DistanceTransform); static NAN_METHOD(Undistort); static NAN_METHOD(InitUndistortRectifyMap); static NAN_METHOD(Remap); diff --git a/src/OpenCV.cc b/src/OpenCV.cc index 7e28290..c0e666b 100755 --- a/src/OpenCV.cc +++ b/src/OpenCV.cc @@ -68,6 +68,7 @@ NAN_METHOD(OpenCV::ReadImage) { return; } +#if CV_MAJOR_VERSION >= 3 NAN_METHOD(OpenCV::ReadImageMulti) { Nan::EscapableHandleScope scope; @@ -111,3 +112,9 @@ NAN_METHOD(OpenCV::ReadImageMulti) { return; } +#else +NAN_METHOD(OpenCV::ReadImageMulti) { + info.GetReturnValue().Set(Nan::New(false)); + return; +} +#endif diff --git a/test/unit.js b/test/unit.js index cc7d365..d0e0a42 100755 --- a/test/unit.js +++ b/test/unit.js @@ -217,16 +217,33 @@ test("Image read from file", function(assert){ }) test("Multi-page image read from file", function(assert){ - cv.readImageMulti("./examples/files/multipage.tif", function(err, imgs){ - assert.ok(imgs); - assert.equal(imgs.length, 10); - for (var i = 0; i < imgs.length; i++) { - assert.ok(imgs[i]); - assert.equal(imgs[i].width(), 800); - assert.equal(imgs[i].height(), 600); - assert.equal(imgs[i].channels(), 3); - assert.equal(imgs[i].empty(), false); - } + if (parseInt(cv.version) >= 3) { + cv.readImageMulti("./examples/files/multipage.tif", function(err, imgs){ + assert.ok(imgs); + assert.equal(imgs.length, 10); + for (var i = 0; i < imgs.length; i++) { + assert.ok(imgs[i]); + assert.equal(imgs[i].width(), 800); + assert.equal(imgs[i].height(), 600); + assert.equal(imgs[i].channels(), 3); + assert.equal(imgs[i].empty(), false); + } + assert.end(); + }) + } else { + console.log(cv.Constants); + assert.equal(cv.readImageMulti("./examples/files/multipage.tif"), false); + assert.end(); + } +}) + +test("Distance transform", function(assert){ + cv.readImage("./examples/files/distanceTransform.png", function(err, img){ + assert.ok(img); + + // 50px image with single black pixel on right side + var result = cv.imgproc.distanceTransform(img, cv.Constants.CV_DIST_L2, cv.Constants.CV_DIST_MASK_PRECISE); + assert.equal(result.get(0,0), 49); assert.end(); }) }) From 1d49cb80eaec9cadd3a6877de22fa9b1fa4ee85d Mon Sep 17 00:00:00 2001 From: Nathan Graves Date: Mon, 20 Feb 2017 11:10:26 -0800 Subject: [PATCH 83/85] Forgot to move a console log from testing. --- test/unit.js | 1 - 1 file changed, 1 deletion(-) diff --git a/test/unit.js b/test/unit.js index d0e0a42..77adf18 100755 --- a/test/unit.js +++ b/test/unit.js @@ -231,7 +231,6 @@ test("Multi-page image read from file", function(assert){ assert.end(); }) } else { - console.log(cv.Constants); assert.equal(cv.readImageMulti("./examples/files/multipage.tif"), false); assert.end(); } From 9cca14830934fa775f27b6230e14709252ffd8b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salom=C3=A3o=20Rodrigues?= Date: Sun, 5 Mar 2017 18:31:28 +0000 Subject: [PATCH 84/85] Convert global scope declaration to local var --- examples/contours.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/contours.js b/examples/contours.js index dcbf48a..c8906bd 100755 --- a/examples/contours.js +++ b/examples/contours.js @@ -19,7 +19,7 @@ cv.readImage('./files/stuff.png', function(err, im) { var all = new cv.Matrix(height, width); im.convertGrayscale(); - im_canny = im.copy(); + var im_canny = im.copy(); im_canny.canny(lowThresh, highThresh); im_canny.dilate(nIters); From f8459e0acd20ae009ba54796ca821fbbde75dbb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salom=C3=A3o=20Rodrigues?= Date: Sun, 5 Mar 2017 20:26:43 +0000 Subject: [PATCH 85/85] Update contours.js --- examples/contours.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/contours.js b/examples/contours.js index c8906bd..5881c32 100755 --- a/examples/contours.js +++ b/examples/contours.js @@ -24,7 +24,7 @@ cv.readImage('./files/stuff.png', function(err, im) { im_canny.canny(lowThresh, highThresh); im_canny.dilate(nIters); - contours = im_canny.findContours(); + var contours = im_canny.findContours(); const lineType = 8; const maxLevel = 0; const thickness = 1;