{"action":"created","comment":{"url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/comments/30462659","id":30462659,"diff_hunk":"@@ -0,0 +1,2057 @@\n+/*********************************************************************\n+ * Software License Agreement (BSD License)\n+ *\n+ * Copyright (c) 2009\n+ * Engin Tola\n+ * web : http://www.engintola.com\n+ * email : engin.tola+libdaisy@gmail.com\n+ *\n+ *  Redistribution and use in source and binary forms, with or without\n+ *  modification, are permitted provided that the following conditions\n+ *  are met:\n+ *\n+ *   * Redistributions of source code must retain the above copyright\n+ *     notice, this list of conditions and the following disclaimer.\n+ *   * Redistributions in binary form must reproduce the above\n+ *     copyright notice, this list of conditions and the following\n+ *     disclaimer in the documentation and/or other materials provided\n+ *     with the distribution.\n+ *   * Neither the name of the Willow Garage nor the names of its\n+ *     contributors may be used to endorse or promote products derived\n+ *     from this software without specific prior written permission.\n+ *\n+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *  \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n+ *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n+ *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n+ *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n+ *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n+ *  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n+ *  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n+ *  POSSIBILITY OF SUCH DAMAGE.\n+ *********************************************************************/\n+\n+/*\n+ \"DAISY: An Efficient Dense Descriptor Applied to Wide Baseline Stereo\"\n+ by Engin Tola, Vincent Lepetit and Pascal Fua. IEEE Transactions on\n+ Pattern Analysis and achine Intelligence, 31 Mar. 2009.\n+ IEEE computer Society Digital Library. IEEE Computer Society,\n+ http:doi.ieeecomputersociety.org/10.1109/TPAMI.2009.77\n+\n+ \"A fast local descriptor for dense matching\" by Engin Tola, Vincent\n+ Lepetit, and Pascal Fua. Intl. Conf. on Computer Vision and Pattern\n+ Recognition, Alaska, USA, June 2008\n+\n+ OpenCV port by: Cristian Balint <cristian dot balint at gmail dot com>\n+ */\n+\n+#include \"precomp.hpp\"\n+#include \"opencv2/imgproc/imgproc_c.h\"\n+\n+#include <fstream>\n+#include <stdlib.h>\n+\n+namespace cv\n+{\n+namespace xfeatures2d\n+{\n+\n+// constants\n+const double g_sigma_0 = 1;\n+const double g_sigma_1 = sqrt(2.0);\n+const double g_sigma_2 = 8;\n+const double g_sigma_step = std::pow(2,1.0/2);\n+const int g_scale_st = int( (log(g_sigma_1/g_sigma_0)) / log(g_sigma_step) );\n+static int g_scale_en = 1;\n+\n+const double g_sigma_init = 1.6;\n+const static int g_grid_orientation_resolution = 360;\n+\n+static const int MAX_CUBE_NO = 64;\n+static const int MAX_NORMALIZATION_ITER = 5;\n+\n+int g_cube_number;\n+int g_selected_cubes[MAX_CUBE_NO]; // m_rad_q_no < MAX_CUBE_NO\n+\n+/*\n+ !DAISY implementation\n+ */\n+class DAISY_Impl : public DAISY\n+{\n+\n+public:\n+    /** Constructor\n+     * @param radius radius of the descriptor at the initial scale\n+     * @param q_radius amount of radial range divisions\n+     * @param q_theta amount of angular range divisions\n+     * @param q_hist amount of gradient orientations range divisions\n+     * @param mode computation of descriptors\n+     * @param norm normalization type\n+     * @param H optional 3x3 homography matrix used to warp the grid of daisy but sampling keypoints remains unwarped on image\n+     * @param interpolation switch to disable interpolation at minor costs of quality (default is true)\n+     * @param use_orientation sample patterns using keypoints orientation, disabled by default.\n+     */\n+    explicit DAISY_Impl(float radius=15, int q_radius=3, int q_theta=8, int q_hist=8,\n+        int mode = DAISY::ONLY_KEYS, int norm = DAISY::NRM_NONE, InputArray H = noArray(),\n+        bool interpolation = true, bool use_orientation = false);\n+\n+    virtual ~DAISY_Impl();\n+\n+    /** returns the descriptor length in bytes */\n+    virtual int descriptorSize() const {\n+        // +1 is for center pixel\n+        return ( (m_rad_q_no * m_th_q_no + 1) * m_hist_th_q_no );\n+    };\n+    /** returns the descriptor type */\n+    virtual int descriptorType() const { return CV_32F; }\n+    /** returns the default norm type */\n+    virtual int defaultNorm() const { return NORM_L2; }\n+\n+    // main compute routine\n+    virtual void compute( InputArray image, std::vector<KeyPoint>& keypoints, OutputArray descriptors );\n+\n+protected:\n+\n+    /*\n+     * DAISY parameters\n+     */\n+\n+    // operation mode\n+    int m_mode;\n+\n+    // maximum radius of the descriptor region.\n+    float m_rad;\n+\n+    // the number of quantizations of the radius.\n+    int m_rad_q_no;\n+\n+    // the number of quantizations of the angle.\n+    int m_th_q_no;\n+\n+    // the number of quantizations of the gradient orientations.\n+    int m_hist_th_q_no;\n+\n+    // holds the type of the normalization to apply; equals to NRM_PARTIAL by\n+    // default. change the value using set_normalization() function.\n+    int m_nrm_type;\n+\n+    // holds optional H matrix\n+    Mat m_h_matrix;\n+\n+    // input image.\n+    float* m_image;\n+\n+    // image height\n+    int m_h;\n+\n+    // image width\n+    int m_w;\n+\n+    // stores the descriptors : its size is [ m_w * m_h * m_descriptor_size ].\n+    float* m_dense_descriptors;\n+\n+    // stores the layered gradients in successively smoothed form: layer[n] =\n+    // m_gradient_layers * gaussian( sigma_n ); n>= 1; layer[0] is the layered_gradient\n+    float* m_smoothed_gradient_layers;","path":"modules/xfeatures2d/src/daisy.cpp","position":158,"original_position":158,"commit_id":"0c32bce3fa3361ed8f135388db8fb09768c0299d","original_commit_id":"0c32bce3fa3361ed8f135388db8fb09768c0299d","user":{"login":"vpisarev","id":2110786,"avatar_url":"https://avatars.githubusercontent.com/u/2110786?v=3","gravatar_id":"","url":"https://api.github.com/users/vpisarev","html_url":"https://github.com/vpisarev","followers_url":"https://api.github.com/users/vpisarev/followers","following_url":"https://api.github.com/users/vpisarev/following{/other_user}","gists_url":"https://api.github.com/users/vpisarev/gists{/gist_id}","starred_url":"https://api.github.com/users/vpisarev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vpisarev/subscriptions","organizations_url":"https://api.github.com/users/vpisarev/orgs","repos_url":"https://api.github.com/users/vpisarev/repos","events_url":"https://api.github.com/users/vpisarev/events{/privacy}","received_events_url":"https://api.github.com/users/vpisarev/received_events","type":"User","site_admin":false},"body":"use Mat or vector&ltMat&gt; or vector&lt;float&gt; do not use plain arrays and manual memory management","created_at":"2015-05-16T17:04:22Z","updated_at":"2015-05-16T17:04:22Z","html_url":"https://github.com/Itseez/opencv_contrib/pull/229#discussion_r30462659","pull_request_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/229","_links":{"self":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/comments/30462659"},"html":{"href":"https://github.com/Itseez/opencv_contrib/pull/229#discussion_r30462659"},"pull_request":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/229"}}},"pull_request":{"url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/229","id":35122871,"html_url":"https://github.com/Itseez/opencv_contrib/pull/229","diff_url":"https://github.com/Itseez/opencv_contrib/pull/229.diff","patch_url":"https://github.com/Itseez/opencv_contrib/pull/229.patch","issue_url":"https://api.github.com/repos/Itseez/opencv_contrib/issues/229","number":229,"state":"open","locked":false,"title":"Add DAISY descriptor for wide-baseline / keypoints.","user":{"login":"cbalint13","id":3974360,"avatar_url":"https://avatars.githubusercontent.com/u/3974360?v=3","gravatar_id":"","url":"https://api.github.com/users/cbalint13","html_url":"https://github.com/cbalint13","followers_url":"https://api.github.com/users/cbalint13/followers","following_url":"https://api.github.com/users/cbalint13/following{/other_user}","gists_url":"https://api.github.com/users/cbalint13/gists{/gist_id}","starred_url":"https://api.github.com/users/cbalint13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbalint13/subscriptions","organizations_url":"https://api.github.com/users/cbalint13/orgs","repos_url":"https://api.github.com/users/cbalint13/repos","events_url":"https://api.github.com/users/cbalint13/events{/privacy}","received_events_url":"https://api.github.com/users/cbalint13/received_events","type":"User","site_admin":false},"body":"This PR add DAISY [1] descriptor specialized for dense stereo problems. It is very fast for  wide-baseline [2] but can be used just as normal keypoint descriptor generated by some detector, with quite superior performance among other descriptors.\r\n\r\nSome more infos:\r\n\r\n* Implementation here is properly cited in respect with authors.\r\n* Implementation is derived from latest author's original BSD licensed code available in public.\r\n* Implementation booth follows opencv's coding standard and author original code performance.\r\n* Implementation behave 1:1 numerically and by speed with original.\r\n* Implementation pass well QA with very good rotation invariance properties.\r\n* Implementation pass poorly QA for scale invariance (this is expected !)\r\n* Implementation pass with excellent results real SfM scenarios for dense stereo-matching.\r\n* Implementation is flexible its parameters are well documented and tested.\r\n\r\n[1] http://cvlab.epfl.ch/software/daisy/\r\n[2] http://cvlab.epfl.ch/research/surface/emvs/\r\n\r\nA cross PR for QA: https://github.com/Itseez/opencv_extra/pull/254","created_at":"2015-05-11T12:35:54Z","updated_at":"2015-05-16T17:04:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d9472ae9bba1704b3b3a95708ac5ed11b1fde0de","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/229/commits","review_comments_url":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/229/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/229/comments","statuses_url":"https://api.github.com/repos/Itseez/opencv_contrib/statuses/0c32bce3fa3361ed8f135388db8fb09768c0299d","head":{"label":"cbalint13:daisy","ref":"daisy","sha":"0c32bce3fa3361ed8f135388db8fb09768c0299d","user":{"login":"cbalint13","id":3974360,"avatar_url":"https://avatars.githubusercontent.com/u/3974360?v=3","gravatar_id":"","url":"https://api.github.com/users/cbalint13","html_url":"https://github.com/cbalint13","followers_url":"https://api.github.com/users/cbalint13/followers","following_url":"https://api.github.com/users/cbalint13/following{/other_user}","gists_url":"https://api.github.com/users/cbalint13/gists{/gist_id}","starred_url":"https://api.github.com/users/cbalint13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbalint13/subscriptions","organizations_url":"https://api.github.com/users/cbalint13/orgs","repos_url":"https://api.github.com/users/cbalint13/repos","events_url":"https://api.github.com/users/cbalint13/events{/privacy}","received_events_url":"https://api.github.com/users/cbalint13/received_events","type":"User","site_admin":false},"repo":{"id":33500236,"name":"opencv_contrib","full_name":"cbalint13/opencv_contrib","owner":{"login":"cbalint13","id":3974360,"avatar_url":"https://avatars.githubusercontent.com/u/3974360?v=3","gravatar_id":"","url":"https://api.github.com/users/cbalint13","html_url":"https://github.com/cbalint13","followers_url":"https://api.github.com/users/cbalint13/followers","following_url":"https://api.github.com/users/cbalint13/following{/other_user}","gists_url":"https://api.github.com/users/cbalint13/gists{/gist_id}","starred_url":"https://api.github.com/users/cbalint13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbalint13/subscriptions","organizations_url":"https://api.github.com/users/cbalint13/orgs","repos_url":"https://api.github.com/users/cbalint13/repos","events_url":"https://api.github.com/users/cbalint13/events{/privacy}","received_events_url":"https://api.github.com/users/cbalint13/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cbalint13/opencv_contrib","description":"Repository for OpenCV's extra modules","fork":true,"url":"https://api.github.com/repos/cbalint13/opencv_contrib","forks_url":"https://api.github.com/repos/cbalint13/opencv_contrib/forks","keys_url":"https://api.github.com/repos/cbalint13/opencv_contrib/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cbalint13/opencv_contrib/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cbalint13/opencv_contrib/teams","hooks_url":"https://api.github.com/repos/cbalint13/opencv_contrib/hooks","issue_events_url":"https://api.github.com/repos/cbalint13/opencv_contrib/issues/events{/number}","events_url":"https://api.github.com/repos/cbalint13/opencv_contrib/events","assignees_url":"https://api.github.com/repos/cbalint13/opencv_contrib/assignees{/user}","branches_url":"https://api.github.com/repos/cbalint13/opencv_contrib/branches{/branch}","tags_url":"https://api.github.com/repos/cbalint13/opencv_contrib/tags","blobs_url":"https://api.github.com/repos/cbalint13/opencv_contrib/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cbalint13/opencv_contrib/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cbalint13/opencv_contrib/git/refs{/sha}","trees_url":"https://api.github.com/repos/cbalint13/opencv_contrib/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cbalint13/opencv_contrib/statuses/{sha}","languages_url":"https://api.github.com/repos/cbalint13/opencv_contrib/languages","stargazers_url":"https://api.github.com/repos/cbalint13/opencv_contrib/stargazers","contributors_url":"https://api.github.com/repos/cbalint13/opencv_contrib/contributors","subscribers_url":"https://api.github.com/repos/cbalint13/opencv_contrib/subscribers","subscription_url":"https://api.github.com/repos/cbalint13/opencv_contrib/subscription","commits_url":"https://api.github.com/repos/cbalint13/opencv_contrib/commits{/sha}","git_commits_url":"https://api.github.com/repos/cbalint13/opencv_contrib/git/commits{/sha}","comments_url":"https://api.github.com/repos/cbalint13/opencv_contrib/comments{/number}","issue_comment_url":"https://api.github.com/repos/cbalint13/opencv_contrib/issues/comments{/number}","contents_url":"https://api.github.com/repos/cbalint13/opencv_contrib/contents/{+path}","compare_url":"https://api.github.com/repos/cbalint13/opencv_contrib/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cbalint13/opencv_contrib/merges","archive_url":"https://api.github.com/repos/cbalint13/opencv_contrib/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cbalint13/opencv_contrib/downloads","issues_url":"https://api.github.com/repos/cbalint13/opencv_contrib/issues{/number}","pulls_url":"https://api.github.com/repos/cbalint13/opencv_contrib/pulls{/number}","milestones_url":"https://api.github.com/repos/cbalint13/opencv_contrib/milestones{/number}","notifications_url":"https://api.github.com/repos/cbalint13/opencv_contrib/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cbalint13/opencv_contrib/labels{/name}","releases_url":"https://api.github.com/repos/cbalint13/opencv_contrib/releases{/id}","created_at":"2015-04-06T19:13:18Z","updated_at":"2015-04-06T19:13:21Z","pushed_at":"2015-05-11T18:09:02Z","git_url":"git://github.com/cbalint13/opencv_contrib.git","ssh_url":"git@github.com:cbalint13/opencv_contrib.git","clone_url":"https://github.com/cbalint13/opencv_contrib.git","svn_url":"https://github.com/cbalint13/opencv_contrib","homepage":null,"size":74157,"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":"ea682d6f04a110bbbe614bf5268971a3de5ea2fe","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-05-16T09:23:57Z","pushed_at":"2015-05-14T16:42:40Z","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":101077,"stargazers_count":210,"watchers_count":210,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":351,"mirror_url":null,"open_issues_count":53,"forks":351,"open_issues":53,"watchers":210,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/229"},"html":{"href":"https://github.com/Itseez/opencv_contrib/pull/229"},"issue":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/issues/229"},"comments":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/issues/229/comments"},"review_comments":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/pulls/229/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/229/commits"},"statuses":{"href":"https://api.github.com/repos/Itseez/opencv_contrib/statuses/0c32bce3fa3361ed8f135388db8fb09768c0299d"}}}}