{"action":"created","comment":{"url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/comments/34013502","id":34013502,"diff_hunk":"@@ -0,0 +1,390 @@\n+//By downloading, copying, installing or using the software you agree to this license.\n+//If you do not agree to this license, do not download, install,\n+//copy or use the software.\n+//\n+//\n+//                          License Agreement\n+//               For Open Source Computer Vision Library\n+//                       (3-clause BSD License)\n+//\n+//Copyright (C) 2000-2015, Intel Corporation, all rights reserved.\n+//Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.\n+//Copyright (C) 2009-2015, NVIDIA Corporation, all rights reserved.\n+//Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.\n+//Copyright (C) 2015, OpenCV Foundation, all rights reserved.\n+//Copyright (C) 2015, Itseez Inc., all rights reserved.\n+//Third party copyrights are property of their respective owners.\n+//\n+//Redistribution and use in source and binary forms, with or without modification,\n+//are permitted provided that the following conditions are met:\n+//\n+//  * Redistributions of source code must retain the above copyright notice,\n+//    this list of conditions and the following disclaimer.\n+//\n+//  * Redistributions in binary form must reproduce the above copyright notice,\n+//    this list of conditions and the following disclaimer in the documentation\n+//    and/or other materials provided with the distribution.\n+//\n+//  * Neither the names of the copyright holders nor the names of the contributors\n+//    may be used to endorse or promote products derived from this software\n+//    without specific prior written permission.\n+//\n+//This software is provided by the copyright holders and contributors \"as is\" and\n+//any express or implied warranties, including, but not limited to, the implied\n+//warranties of merchantability and fitness for a particular purpose are disclaimed.\n+//In no event shall copyright holders or contributors be liable for any direct,\n+//indirect, incidental, special, exemplary, or consequential damages\n+//(including, but not limited to, procurement of substitute goods or services;\n+//loss of use, data, or profits; or business interruption) however caused\n+//and on any theory of liability, whether in contract, strict liability,\n+//or tort (including negligence or otherwise) arising in any way out of\n+//the use of this software, even if advised of the possibility of such damage.\n+\n+/*****************************************************************************************************************\\\n+*   The interface contains the main descriptors that will be implemented in the descriptor class                  *\n+\\******************************************************************************************************************/\n+\n+#include \"precomp.hpp\"\n+#include <stdint.h>\n+#ifndef _OPENCV_DESCRIPTOR_HPP_\n+#define _OPENCV_DESCRIPTOR_HPP_\n+#ifdef __cplusplus\n+\n+namespace cv\n+{\n+    namespace stereo\n+    {\n+        enum ClassicCensus { Dense_Census, Sparse_Census};\n+        enum SymetricCensus {ClassicCenterSymetricCensus, ModifiedCenterSymetricCensus};\n+        enum MCT {StandardMct,MeanVariation};\n+        enum CensusImage {SSE, NonSSE};\n+        //!class implemented to run the census descriptor in parralel\n+        class parallelCensus :public ParallelLoopBody\n+        {\n+        private:\n+            uint8_t *image1, *image2;\n+            int *dst1, *dst2;\n+            int n2, width, height, type;\n+        public:\n+            parallelCensus(uint8_t * img1, uint8_t * img2, int w, int h, int k2, int * distance1, int * distance2,const int t) :\n+                image1(img1), image2(img2), dst1(distance1), dst2(distance2), n2(k2), width(w), height(h), type(t){}\n+            virtual void operator()(const cv::Range &r) const {\n+                int step = (type == ClassicCensus::Sparse_Census)? 2:1;\n+                for (int i = r.start; i <= r.end ; i++)\n+                {\n+                    int rWidth = i * width;\n+                    for (int j = n2; j <= width - n2; j++)\n+                    {\n+                        //imitialize the costs for the 2 census descriptors\n+                        int c = 0;\n+                        int c2 = 0;\n+                        for (int ii = i - n2; ii <= i + n2; ii+=step)\n+                        {\n+                            int rrWidth = ii * width;\n+                            for (int jj = j - n2; jj <= j + n2; jj+=step)\n+                            {\n+                                if (ii != i || jj != j)\n+                                {\n+                                    //compare a pixel with the center from the kernel\n+                                    if (image1[rrWidth + jj] > image1[rWidth + j])\n+                                    {\n+                                        c = c + 1;\n+                                    }\n+                                    c = c * 2;\n+                                }\n+                                if (ii != i || jj != j)\n+                                {\n+                                    //compare pixel with center for image 2\n+                                    if (image2[rrWidth + jj] > image2[rWidth + j])\n+                                    {\n+                                        c2 = c2 + 1;\n+                                    }\n+                                    c2 = c2 * 2;\n+                                }\n+                            }\n+                        }\n+                        dst1[(rWidth + j)] = c;\n+                        dst2[(rWidth + j)] = c2;\n+                    }\n+                }\n+            }\n+        };\n+        //!class that implemented the census descriptor on single images\n+        class singleImageCensus : public ParallelLoopBody\n+        {\n+        private:\n+            uint8_t *image;\n+            int *dst;\n+            int n2, width, height, type;\n+        public:\n+            singleImageCensus(uint8_t * img1, int w, int h, int k2, int * distance1,const int t) :\n+                image(img1), dst(distance1), n2(k2), width(w), height(h), type(t){}\n+            virtual void operator()(const cv::Range &r) const {\n+                for (int i = r.start; i <= r.end ; i++)\n+                {\n+                    int rWidth = i * width;\n+                    for (int j = n2; j <= width - n2; j++)\n+                    {\n+                        if (type == CensusImage::SSE)\n+                        {\n+                            //to do\n+                        }\n+                        else\n+                        {\n+                            int c = 0;\n+                            for (int ii = i - n2; ii <= i + n2; ii++)\n+                            {\n+                                int rrWidth = ii * width;\n+                                for (int jj = j - n2; jj <= j + n2; jj++)\n+                                {\n+                                    if (ii != i || jj != j)\n+                                    {\n+                                        if (image[(rrWidth + jj)] > image[(rWidth + j)])\n+                                        {\n+                                            c = c + 1;\n+                                        }\n+                                        c = c * 2;\n+                                    }\n+                                }\n+                            }\n+                            dst[(rWidth + j)] = c;\n+                        }\n+                    }\n+                }\n+            }\n+        };\n+        //! parallel implementation of MCT type of descriptors\n+        class parallelMctDescriptor:public ParallelLoopBody\n+        {\n+        private:\n+            uint8_t *image1, *image2;\n+            int *dst1, *dst2;\n+            int n2,t , width, height, type;\n+        public:\n+            parallelMctDescriptor(uint8_t * img1, uint8_t * img2, int w, int h, int k2,int threshold, int * distance1, int * distance2,const int tip) :\n+                image1(img1), image2(img2), dst1(distance1), dst2(distance2), n2(k2), t(threshold), width(w), height(h), type(tip){}\n+            virtual void operator()(const cv::Range &r) const {\n+                for (int i = r.start; i <= r.end ; i++)\n+                {\n+                    int rWidth = i * width;\n+                    int distV = (i)* width;\n+                    for (int j = n2 + 2; j <= width - n2 - 2; j++)\n+                    {\n+                        int c = 0;\n+                        int c2 = 0;\n+                        if (type == MCT::StandardMct)\n+                        {\n+                            for (int ii = i - n2; ii <= i + n2; ii += 2)\n+                            {\n+                                int rrWidth = ii * width;\n+                                for (int jj = j - n2; jj <= j + n2; jj += 2)\n+                                {\n+                                    if (ii != i || jj != j)\n+                                    {\n+                                        if (image1[rrWidth + jj] > image1[rWidth + j] - t)\n+                                        {\n+                                            c <<= 2;\n+                                            c |= 0x3;\n+                                        }\n+                                        else if (image1[rWidth + j] - t < image1[rrWidth + jj] && image1[rWidth + j] + t >= image1[rrWidth + jj])\n+                                        {\n+                                            c <<= 2;\n+                                            c = c + 1;\n+                                        }\n+                                        else\n+                                        {\n+                                            c <<= 2;\n+                                        }\n+                                    }\n+                                    if (ii != i || jj != j)\n+                                    {\n+                                        if (image2[rrWidth + jj]  > image2[rWidth + j] - t)\n+                                        {\n+                                            c2 <<= 2;\n+                                            c2 |= 0x3;\n+                                        }\n+                                        else if (image2[rWidth + j] - t < image2[rrWidth + jj] && image2[rWidth + j] + t >= image2[rrWidth + jj])\n+                                        {\n+                                            c2 <<= 2;\n+                                            c2 = c2 + 1;\n+                                        }\n+                                        else\n+                                        {\n+                                            c2 <<= 2;\n+                                        }\n+                                    }\n+                                }\n+                            }\n+                            for (int ii = i - n2; ii <= i + n2; ii += 4)\n+                            {\n+                                int rrWidth = ii * width;\n+                                for (int jj = j - n2; jj <= j + n2; jj += 4)\n+                                {\n+                                    if (ii != i || jj != j)\n+                                    {\n+                                        if (image1[rrWidth + jj]  > image1[rWidth + j] - t)\n+                                        {\n+                                            c <<= 2;\n+                                            c |= 0x3;\n+                                        }\n+                                        else if (image1[rWidth + j] - t < image1[rrWidth + jj] && image1[rWidth + j] + t >= image1[rrWidth + jj])\n+                                        {\n+                                            c <<= 2;\n+                                            c += 1;\n+                                        }\n+                                        else\n+                                        {\n+                                            c <<= 2;\n+                                        }\n+                                    }\n+                                    if (ii != i || jj != j)\n+                                    {\n+                                        if (image2[rrWidth + jj]  > image2[rWidth + j] - t)\n+                                        {\n+                                            c2 <<= 2;\n+                                            c2 |= 0x3;\n+                                        }\n+                                        else if (image2[rWidth + j] - t < image2[rrWidth + jj] && image2[rWidth + j] + t >= image2[rrWidth + jj])\n+                                        {\n+                                            c2 <<= 2;\n+                                            c2 = c2 + 1;\n+                                        }\n+                                        else\n+                                        {\n+                                            c2 <<= 2;\n+                                        }\n+                                    }\n+                                }\n+                            }\n+                        }\n+                        else if (type == MCT::MeanVariation)\n+                        {\n+                            //to do mean variation\n+                        }\n+                        dst1[distV + j] = c;\n+                        dst2[distV + j] = c2;\n+                    }\n+                }\n+            }\n+\n+        };\n+        //!paralel implementation of the center symetric census\n+        class parallelSymetricCensus:public ParallelLoopBody\n+        {\n+        private:\n+            uint8_t *image1, *image2;\n+            int *dst1, *dst2;\n+            int n2, width, height, type;\n+        public:\n+            parallelSymetricCensus(uint8_t * img1, uint8_t * img2, int w, int h, int k2, int * distance1, int * distance2,const int t) :\n+                image1(img1), image2(img2), dst1(distance1), dst2(distance2), n2(k2), width(w), height(h), type(t){}\n+\n+            virtual void operator()(const cv::Range &r) const {\n+\n+                for (int i = r.start; i <= r.end ; i++)\n+                {\n+                    int distV = (i)* width;\n+                    for (int j = n2; j <= width - n2; j++)\n+                    {\n+                        int c = 0;\n+                        int c2 = 0;\n+                        //the classic center symetric census which compares the curent pixel with its symetric not its center.\n+                        if (type == SymetricCensus::ClassicCenterSymetricCensus)\n+                        {\n+                            for (int ii = -n2; ii < 0; ii++)\n+                            {\n+                                int rrWidth = (ii + i) * width;\n+                                for (int jj = -n2; jj <= +n2; jj++)\n+                                {\n+                                    if (ii != i || jj != j)","path":"modules/stereo/src/descriptor.hpp","position":299,"original_position":299,"commit_id":"6b8fc7d66565ec0c75fe8d3d803eac36a71000eb","original_commit_id":"6b8fc7d66565ec0c75fe8d3d803eac36a71000eb","user":{"login":"snosov1","id":2784626,"avatar_url":"https://avatars.githubusercontent.com/u/2784626?v=3","gravatar_id":"","url":"https://api.github.com/users/snosov1","html_url":"https://github.com/snosov1","followers_url":"https://api.github.com/users/snosov1/followers","following_url":"https://api.github.com/users/snosov1/following{/other_user}","gists_url":"https://api.github.com/users/snosov1/gists{/gist_id}","starred_url":"https://api.github.com/users/snosov1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snosov1/subscriptions","organizations_url":"https://api.github.com/users/snosov1/orgs","repos_url":"https://api.github.com/users/snosov1/repos","events_url":"https://api.github.com/users/snosov1/events{/privacy}","received_events_url":"https://api.github.com/users/snosov1/received_events","type":"User","site_admin":false},"body":"The loop above is `for (int ii = -n2; ii < 0; ii++)`, i.e. `ii` is in the range `[-n2..0)`. Is everything is correct about this condition?","created_at":"2015-07-07T07:27:25Z","updated_at":"2015-07-07T07:27:25Z","html_url":"https://github.com/Itseez/opencv_contrib/pull/271#discussion_r34013502","pull_request_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271","_links":{"self":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/comments/34013502"},"html":{"href":"https://github.com/Itseez/opencv_contrib/pull/271#discussion_r34013502"},"pull_request":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271"}}},"pull_request":{"url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271","id":38042852,"html_url":"https://github.com/Itseez/opencv_contrib/pull/271","diff_url":"https://github.com/Itseez/opencv_contrib/pull/271.diff","patch_url":"https://github.com/Itseez/opencv_contrib/pull/271.patch","issue_url":"https://api.github.com/repos/Itseez/opencv_contrib/issues/271","number":271,"state":"open","locked":false,"title":"This files contains the implemented descriptors","user":{"login":"MMp131316","id":3743553,"avatar_url":"https://avatars.githubusercontent.com/u/3743553?v=3","gravatar_id":"","url":"https://api.github.com/users/MMp131316","html_url":"https://github.com/MMp131316","followers_url":"https://api.github.com/users/MMp131316/followers","following_url":"https://api.github.com/users/MMp131316/following{/other_user}","gists_url":"https://api.github.com/users/MMp131316/gists{/gist_id}","starred_url":"https://api.github.com/users/MMp131316/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MMp131316/subscriptions","organizations_url":"https://api.github.com/users/MMp131316/orgs","repos_url":"https://api.github.com/users/MMp131316/repos","events_url":"https://api.github.com/users/MMp131316/events{/privacy}","received_events_url":"https://api.github.com/users/MMp131316/received_events","type":"User","site_admin":false},"body":"The #pragma have been commented they will have to be replaced by open cv parallel for\r\nOther files will follow containing the matching sub pixel etc","created_at":"2015-06-18T19:22:42Z","updated_at":"2015-07-07T07:27:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9fd55f95f83cf4cb0a73186a37aae878ad395796","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271/commits","review_comments_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271/comments","review_comment_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Itseez/opencv_contrib/issues/271/comments","statuses_url":"https://api.github.com/repos/Itseez/opencv_contrib/statuses/6b8fc7d66565ec0c75fe8d3d803eac36a71000eb","head":{"label":"MMp131316:StereoDescriptors","ref":"StereoDescriptors","sha":"6b8fc7d66565ec0c75fe8d3d803eac36a71000eb","user":{"login":"MMp131316","id":3743553,"avatar_url":"https://avatars.githubusercontent.com/u/3743553?v=3","gravatar_id":"","url":"https://api.github.com/users/MMp131316","html_url":"https://github.com/MMp131316","followers_url":"https://api.github.com/users/MMp131316/followers","following_url":"https://api.github.com/users/MMp131316/following{/other_user}","gists_url":"https://api.github.com/users/MMp131316/gists{/gist_id}","starred_url":"https://api.github.com/users/MMp131316/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MMp131316/subscriptions","organizations_url":"https://api.github.com/users/MMp131316/orgs","repos_url":"https://api.github.com/users/MMp131316/repos","events_url":"https://api.github.com/users/MMp131316/events{/privacy}","received_events_url":"https://api.github.com/users/MMp131316/received_events","type":"User","site_admin":false},"repo":{"id":36019280,"name":"opencv_contrib","full_name":"MMp131316/opencv_contrib","owner":{"login":"MMp131316","id":3743553,"avatar_url":"https://avatars.githubusercontent.com/u/3743553?v=3","gravatar_id":"","url":"https://api.github.com/users/MMp131316","html_url":"https://github.com/MMp131316","followers_url":"https://api.github.com/users/MMp131316/followers","following_url":"https://api.github.com/users/MMp131316/following{/other_user}","gists_url":"https://api.github.com/users/MMp131316/gists{/gist_id}","starred_url":"https://api.github.com/users/MMp131316/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MMp131316/subscriptions","organizations_url":"https://api.github.com/users/MMp131316/orgs","repos_url":"https://api.github.com/users/MMp131316/repos","events_url":"https://api.github.com/users/MMp131316/events{/privacy}","received_events_url":"https://api.github.com/users/MMp131316/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MMp131316/opencv_contrib","description":"Repository for OpenCV's extra modules","fork":true,"url":"https://api.github.com/repos/MMp131316/opencv_contrib","forks_url":"https://api.github.com/repos/MMp131316/opencv_contrib/forks","keys_url":"https://api.github.com/repos/MMp131316/opencv_contrib/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MMp131316/opencv_contrib/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MMp131316/opencv_contrib/teams","hooks_url":"https://api.github.com/repos/MMp131316/opencv_contrib/hooks","issue_events_url":"https://api.github.com/repos/MMp131316/opencv_contrib/issues/events{/number}","events_url":"https://api.github.com/repos/MMp131316/opencv_contrib/events","assignees_url":"https://api.github.com/repos/MMp131316/opencv_contrib/assignees{/user}","branches_url":"https://api.github.com/repos/MMp131316/opencv_contrib/branches{/branch}","tags_url":"https://api.github.com/repos/MMp131316/opencv_contrib/tags","blobs_url":"https://api.github.com/repos/MMp131316/opencv_contrib/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MMp131316/opencv_contrib/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MMp131316/opencv_contrib/git/refs{/sha}","trees_url":"https://api.github.com/repos/MMp131316/opencv_contrib/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MMp131316/opencv_contrib/statuses/{sha}","languages_url":"https://api.github.com/repos/MMp131316/opencv_contrib/languages","stargazers_url":"https://api.github.com/repos/MMp131316/opencv_contrib/stargazers","contributors_url":"https://api.github.com/repos/MMp131316/opencv_contrib/contributors","subscribers_url":"https://api.github.com/repos/MMp131316/opencv_contrib/subscribers","subscription_url":"https://api.github.com/repos/MMp131316/opencv_contrib/subscription","commits_url":"https://api.github.com/repos/MMp131316/opencv_contrib/commits{/sha}","git_commits_url":"https://api.github.com/repos/MMp131316/opencv_contrib/git/commits{/sha}","comments_url":"https://api.github.com/repos/MMp131316/opencv_contrib/comments{/number}","issue_comment_url":"https://api.github.com/repos/MMp131316/opencv_contrib/issues/comments{/number}","contents_url":"https://api.github.com/repos/MMp131316/opencv_contrib/contents/{+path}","compare_url":"https://api.github.com/repos/MMp131316/opencv_contrib/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MMp131316/opencv_contrib/merges","archive_url":"https://api.github.com/repos/MMp131316/opencv_contrib/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MMp131316/opencv_contrib/downloads","issues_url":"https://api.github.com/repos/MMp131316/opencv_contrib/issues{/number}","pulls_url":"https://api.github.com/repos/MMp131316/opencv_contrib/pulls{/number}","milestones_url":"https://api.github.com/repos/MMp131316/opencv_contrib/milestones{/number}","notifications_url":"https://api.github.com/repos/MMp131316/opencv_contrib/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MMp131316/opencv_contrib/labels{/name}","releases_url":"https://api.github.com/repos/MMp131316/opencv_contrib/releases{/id}","created_at":"2015-05-21T14:59:37Z","updated_at":"2015-05-21T14:59:40Z","pushed_at":"2015-07-06T22:58:22Z","git_url":"git://github.com/MMp131316/opencv_contrib.git","ssh_url":"git@github.com:MMp131316/opencv_contrib.git","clone_url":"https://github.com/MMp131316/opencv_contrib.git","svn_url":"https://github.com/MMp131316/opencv_contrib","homepage":null,"size":74466,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Itseez:master","ref":"master","sha":"af63b7ab51f23e33a9aa9ba11ac898c40dbf498d","user":{"login":"Itseez","id":1786446,"avatar_url":"https://avatars.githubusercontent.com/u/1786446?v=3","gravatar_id":"","url":"https://api.github.com/users/Itseez","html_url":"https://github.com/Itseez","followers_url":"https://api.github.com/users/Itseez/followers","following_url":"https://api.github.com/users/Itseez/following{/other_user}","gists_url":"https://api.github.com/users/Itseez/gists{/gist_id}","starred_url":"https://api.github.com/users/Itseez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Itseez/subscriptions","organizations_url":"https://api.github.com/users/Itseez/orgs","repos_url":"https://api.github.com/users/Itseez/repos","events_url":"https://api.github.com/users/Itseez/events{/privacy}","received_events_url":"https://api.github.com/users/Itseez/received_events","type":"Organization","site_admin":false},"repo":{"id":12756992,"name":"opencv_contrib","full_name":"Itseez/opencv_contrib","owner":{"login":"Itseez","id":1786446,"avatar_url":"https://avatars.githubusercontent.com/u/1786446?v=3","gravatar_id":"","url":"https://api.github.com/users/Itseez","html_url":"https://github.com/Itseez","followers_url":"https://api.github.com/users/Itseez/followers","following_url":"https://api.github.com/users/Itseez/following{/other_user}","gists_url":"https://api.github.com/users/Itseez/gists{/gist_id}","starred_url":"https://api.github.com/users/Itseez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Itseez/subscriptions","organizations_url":"https://api.github.com/users/Itseez/orgs","repos_url":"https://api.github.com/users/Itseez/repos","events_url":"https://api.github.com/users/Itseez/events{/privacy}","received_events_url":"https://api.github.com/users/Itseez/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Itseez/opencv_contrib","description":"Repository for OpenCV's extra modules","fork":false,"url":"https://api.github.com/repos/Itseez/opencv_contrib","forks_url":"https://api.github.com/repos/Itseez/opencv_contrib/forks","keys_url":"https://api.github.com/repos/Itseez/opencv_contrib/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Itseez/opencv_contrib/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Itseez/opencv_contrib/teams","hooks_url":"https://api.github.com/repos/Itseez/opencv_contrib/hooks","issue_events_url":"https://api.github.com/repos/Itseez/opencv_contrib/issues/events{/number}","events_url":"https://api.github.com/repos/Itseez/opencv_contrib/events","assignees_url":"https://api.github.com/repos/Itseez/opencv_contrib/assignees{/user}","branches_url":"https://api.github.com/repos/Itseez/opencv_contrib/branches{/branch}","tags_url":"https://api.github.com/repos/Itseez/opencv_contrib/tags","blobs_url":"https://api.github.com/repos/Itseez/opencv_contrib/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Itseez/opencv_contrib/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Itseez/opencv_contrib/git/refs{/sha}","trees_url":"https://api.github.com/repos/Itseez/opencv_contrib/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Itseez/opencv_contrib/statuses/{sha}","languages_url":"https://api.github.com/repos/Itseez/opencv_contrib/languages","stargazers_url":"https://api.github.com/repos/Itseez/opencv_contrib/stargazers","contributors_url":"https://api.github.com/repos/Itseez/opencv_contrib/contributors","subscribers_url":"https://api.github.com/repos/Itseez/opencv_contrib/subscribers","subscription_url":"https://api.github.com/repos/Itseez/opencv_contrib/subscription","commits_url":"https://api.github.com/repos/Itseez/opencv_contrib/commits{/sha}","git_commits_url":"https://api.github.com/repos/Itseez/opencv_contrib/git/commits{/sha}","comments_url":"https://api.github.com/repos/Itseez/opencv_contrib/comments{/number}","issue_comment_url":"https://api.github.com/repos/Itseez/opencv_contrib/issues/comments{/number}","contents_url":"https://api.github.com/repos/Itseez/opencv_contrib/contents/{+path}","compare_url":"https://api.github.com/repos/Itseez/opencv_contrib/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Itseez/opencv_contrib/merges","archive_url":"https://api.github.com/repos/Itseez/opencv_contrib/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Itseez/opencv_contrib/downloads","issues_url":"https://api.github.com/repos/Itseez/opencv_contrib/issues{/number}","pulls_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls{/number}","milestones_url":"https://api.github.com/repos/Itseez/opencv_contrib/milestones{/number}","notifications_url":"https://api.github.com/repos/Itseez/opencv_contrib/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Itseez/opencv_contrib/labels{/name}","releases_url":"https://api.github.com/repos/Itseez/opencv_contrib/releases{/id}","created_at":"2013-09-11T13:28:04Z","updated_at":"2015-07-05T12:17:41Z","pushed_at":"2015-07-07T03:25:12Z","git_url":"git://github.com/Itseez/opencv_contrib.git","ssh_url":"git@github.com:Itseez/opencv_contrib.git","clone_url":"https://github.com/Itseez/opencv_contrib.git","svn_url":"https://github.com/Itseez/opencv_contrib","homepage":null,"size":124983,"stargazers_count":285,"watchers_count":285,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":432,"mirror_url":null,"open_issues_count":72,"forks":432,"open_issues":72,"watchers":285,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271"},"html":{"href":"https://github.com/Itseez/opencv_contrib/pull/271"},"issue":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/issues/271"},"comments":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/issues/271/comments"},"review_comments":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271/comments"},"review_comment":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/271/commits"},"statuses":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/statuses/6b8fc7d66565ec0c75fe8d3d803eac36a71000eb"}}}}