{"action":"created","comment":{"url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/comments/34556792","id":34556792,"diff_hunk":"@@ -0,0 +1,189 @@\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 file contains the implemented descriptors                                                                  *\n+\\******************************************************************************************************************/\n+#include \"descriptor.hpp\"\n+\n+using namespace cv;\n+using namespace stereo;\n+\n+//function that preforms the the census transform or MCT transform on a single image\n+void cv::stereo::applyCensusOnImage(const cv::Mat &img, int kernelSize, cv::Mat &dist, const int type, int threshold)\n+{\n+    CV_Assert(img.type() == CV_8UC1);\n+    CV_Assert(kernelSize % 2 != 0);\n+    CV_Assert(kernelSize <= 5);\n+    CV_Assert(type < 2 && type >= 0);\n+    int n2 = (kernelSize - 1) / 2;\n+    if(type == CensusSingle)\n+    {\n+        parallel_for_(cv::Range(n2, img.rows - n2),\n+            singleDescriptor<1,1,1,CensusKernelSingle>(img.cols, img.rows,n2,(int *)dist.data,CensusKernelSingle(img.data),n2));\n+    }\n+    else if(type == MCTSingle)\n+    {\n+        parallel_for_(cv::Range(n2, img.rows - n2),\n+            singleDescriptor<2,3,2,MCTKernelSingle>(img.cols, img.rows,n2,(int *)dist.data,MCTKernelSingle(img.data,threshold),n2));\n+    }\n+}\n+//function that performs the census transform on two images.\n+//Two variants of census are offered a sparse version whcih takes every second pixel as well as dense version\n+void cv::stereo::applyCensusOnImages(const cv::Mat &image1, const cv::Mat &image2, int kernelSize, cv::Mat dist[2], const int type)\n+{\n+    CV_Assert(image1.size() == image2.size());\n+    CV_Assert(kernelSize % 2 != 0);\n+    CV_Assert(image1.type() == CV_8UC1 && image2.type() == CV_8UC1);\n+    CV_Assert(type < 2 && type >= 0);\n+    CV_Assert(kernelSize <= ((type == 0) ? 5 : 10));\n+    int n2 = (kernelSize - 1) / 2;\n+    int *d[2];\n+    uint8_t *images[] = {image1.data, image2.data};\n+    if(type == Dense_Census)\n+    {\n+        parallel_for_(cv::Range(n2, image1.rows - n2),\n+            CombinedDescriptor<1,1,1,CensusKernel>(image1.cols, image1.rows,n2,(int *)dist[0].data, (int *)dist[1].data,CensusKernel(images),n2));\n+    }\n+    else if(type == Sparse_Census)\n+    {\n+        parallel_for_(cv::Range(n2, image1.rows - n2),\n+            CombinedDescriptor<2,2,1,CensusKernel>(image1.cols, image1.rows,n2,(int *)dist[0].data, (int *)dist[1].data,CensusKernel(images),n2));\n+    }\n+\n+}\n+//Modified census transforms\n+//the first one deals with small illumination changes\n+//the sencond modified census transform is invariant to noise; i.e.\n+//if the current pixel with whom we are dooing the comparison is a noise, this descriptor will provide a better result by comparing with the mean of the window\n+//otherwise if the pixel is not noise the information is strengthend\n+void cv::stereo:: applyMCTOnImages(const cv::Mat &img1, const cv::Mat &img2, int kernelSize, int t,const cv::Mat IntegralImage[2], cv::Mat dist[2], const int type)\n+{\n+    CV_Assert(img1.size() == img2.size());\n+    CV_Assert(kernelSize % 2 != 0);\n+    CV_Assert(img1.type() == CV_8UC1 && img2.type() == CV_8UC1);\n+    CV_Assert(type < 2 && type >= 0);\n+    CV_Assert(kernelSize <= 9);\n+    int n2 = (kernelSize - 1) >> 1;\n+    uint8_t *images[] = {img1.data, img2.data};\n+    int *integral[] = { (int *)IntegralImage[0].data, (int *)IntegralImage[1].data };\n+\n+    if(type == StandardMct)\n+    {\n+        //MCT\n+        parallel_for_(cv::Range(n2, img1.rows - n2),\n+            CombinedDescriptor<2,3,2,MCTKernel>(img1.cols, img1.rows,n2,(int *)dist[0].data,(int *)dist[1].data,MCTKernel(images,t),n2));\n+    }\n+    else\n+    {\n+        //MV\n+        parallel_for_(cv::Range(n2, img1.rows - n2),\n+            CombinedDescriptor<2,3,2,MVKernel>(img1.cols, img1.rows,n2,(int *)dist[0].data,(int *)dist[1].data,MVKernel(images,integral),n2));\n+\n+    }\n+}\n+//different versions of simetric census\n+//These variants since they do not compare with the center they are invariant to noise\n+void cv::stereo::applySimetricCensus(const cv::Mat &img1, const cv::Mat &img2, int kernelSize, cv::Mat dist[2], const int type)\n+{\n+    CV_Assert(img1.size() ==  img2.size());\n+    CV_Assert(kernelSize % 2 != 0);\n+    CV_Assert(img1.type() == CV_8UC1 && img2.type() == CV_8UC1);\n+    CV_Assert(type < 2 && type >= 0);\n+    CV_Assert(kernelSize <= 7);\n+    int n2 = (kernelSize - 1) >> 1;\n+    uint8_t *images[] = {img1.data, img2.data};\n+    Mat imag[] = {img1, img2};\n+    int *date[] = { (int *)dist[0].data, (int *)dist[1].data};\n+    if(type == ClassicCenterSymetricCensus)\n+    {\n+        parallel_for_(cv::Range(n2, img1.rows - n2), parallelSymetricCensus(imag, n2,date));\n+    }\n+    else if(type == ModifiedCenterSymetricCensus)\n+    {\n+        parallel_for_(cv::Range(n2, img1.rows - n2),\n+            CombinedDescriptor<1,1,1,ModifiedCsCensus>(img1.cols, img1.rows,n2,(int *)dist[0].data,(int *)dist[1].data,ModifiedCsCensus(images,n2),1));\n+    }\n+}\n+//computation of the partial sums done on the intensity image\n+void cv::stereo::computePartialSumsIntensityImage(const cv::Mat &image, cv::Mat &cost)\n+{\n+    int width = image.cols;\n+    int height = image.rows;\n+    uint8_t *img = image.data;\n+    int *c = (int *)cost.data;\n+    memset(c, 0, sizeof(c[0]) * (width + 1) * (height + 1));","path":"modules/stereo/src/descriptor.cpp","position":154,"original_position":154,"commit_id":"19722b5dc38e216c2f31c89d0ce1f942ad60f79c","original_commit_id":"19722b5dc38e216c2f31c89d0ce1f942ad60f79c","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":"Consider using cost.setTo(0);","created_at":"2015-07-14T11:00:42Z","updated_at":"2015-07-14T11:00:42Z","html_url":"https://github.com/Itseez/opencv_contrib/pull/271#discussion_r34556792","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/34556792"},"html":{"href":"https://github.com/Itseez/opencv_contrib/pull/271#discussion_r34556792"},"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-14T11:00:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8c2de4fda2d4c25b377bb58c447b68a6d060cc42","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/19722b5dc38e216c2f31c89d0ce1f942ad60f79c","head":{"label":"MMp131316:StereoDescriptors","ref":"StereoDescriptors","sha":"19722b5dc38e216c2f31c89d0ce1f942ad60f79c","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-13T22:34:04Z","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":74451,"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-12T07:14:21Z","pushed_at":"2015-07-13T22:34:06Z","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":123575,"stargazers_count":292,"watchers_count":292,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":445,"mirror_url":null,"open_issues_count":75,"forks":445,"open_issues":75,"watchers":292,"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/19722b5dc38e216c2f31c89d0ce1f942ad60f79c"}}}}