{"id":19390860,"url":"https://github.com/tecnickcom/edgetools","last_synced_at":"2025-04-24T00:31:39.120Z","repository":{"id":66250114,"uuid":"62235382","full_name":"tecnickcom/edgetools","owner":"tecnickcom","description":"Matlab tools to find edges of a digital image","archived":false,"fork":false,"pushed_at":"2020-02-01T10:45:17.000Z","size":38,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T22:51:15.275Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tecnickcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20edgetools%20project"]}},"created_at":"2016-06-29T15:08:13.000Z","updated_at":"2023-07-05T08:49:52.000Z","dependencies_parsed_at":"2023-12-16T15:00:59.212Z","dependency_job_id":null,"html_url":"https://github.com/tecnickcom/edgetools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fedgetools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fedgetools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fedgetools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fedgetools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tecnickcom","download_url":"https://codeload.github.com/tecnickcom/edgetools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250539447,"owners_count":21447310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T10:23:36.917Z","updated_at":"2025-04-24T00:31:39.112Z","avatar_url":"https://github.com/tecnickcom.png","language":"MATLAB","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20edgetools%20project"],"categories":[],"sub_categories":[],"readme":"# edgetools\r\n*edgetools (edgemap.m + edgedir.m) Matlab tools to find edges of a digital image*\r\n\r\n[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20edgetools%20project)\r\n*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20edgetools%20project)*\r\n\r\n* **category**    Application\r\n* **package**     \\Com\\Tecnick\\edgetools\r\n* **author**      Nicola Asuni \u003cinfo@tecnick.com\u003e\r\n* **copyright**   2006-2016 Nicola Asuni - Tecnick.com LTD\r\n* **license**     http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)\r\n* **link**        https://github.com/tecnickcom/edgetools\r\n* **version**     1.1.1\r\n\r\n## Description\r\n\r\nThis function detects edges, which are those places in an image that\r\ncorrespond to object boundaries. To find edges, this function looks\r\nfor places in the image where the intensity changes rapidly, using\r\nan improved SUSAN technique.\r\n\r\nThis algorithm is based on the technique described on:\r\nS.M. Smith, J.M. Brady, \"SUSAN - a new approach to low level image\r\nprocessing\", Int Journal of Computer Vision, 23(1):45-78, May 1997.\r\nThis technicque is subject to a patent:\r\nS.M. Smith, \"Method for digitally processing images to determine the\r\nposition of edges and/or corners therein for guidance of unmanned\r\nvehicle. UK Patent 2272285. Proprietor: Secretary of State for\r\nDefence, UK. 15 January 1997.\r\n\r\n## KEYWORDS: SUSAN, image, edge, detection, detector, orientation, direction, matlab, octave.\r\n\r\n---------------------------------------------------------------------\r\n\r\n## edgemap.m\r\n\r\n### USAGE\r\n\r\n[EDG] = edgemap(IM)\r\n[EDG] = edgemap(IM, TR)\r\n[EDG] = edgemap(IM, TR, KR)\r\n[EDG] = edgemap(IM, TR, KR, NR)\r\n[EDG] = edgemap(IM, TR, KR, NR, OP)\r\n\r\n### INPUT\r\n\r\nIM : source image (RGB or grayscale)\r\nTR : Brightness Threshold (default = 20)\r\nKR : USAN Kernel Radius (nucleus excluded) (default = 3)\r\nNR : EDG matrix will be normalized to this range of integers\r\n     (default = 0 = not normalize)\r\nOP : if true removes from USAN the pixels that are not \r\n     directly connected with the nucleus (default = false).\r\n     IMPORTANT: This optimization is very slow, so use it carefully\r\n     only for small images and when it's really needed. \r\n\r\n### OUTPUT\r\nEDG : edge strength image\r\n\r\n## Examples\r\nPlease check the edgexample.m and edgexample2.m files on how to use this function.\r\n\r\n### NOTES\r\n\r\nThis implementation is not intended to be used in a production\r\nenvironment. The main purpose of this script is to clearly show how\r\nthis technique works. Better performaces could be obtained using a\r\ncompiled version or rewriting this technique using a low-level\r\nprogramming language.\r\n\r\n---------------------------------------------------------------------\r\n\r\n\r\n## edgedir.m\r\n\r\n### DESCRIPTION\r\n\r\nThis function detects the angles of the tangents to image edges. \r\nAngles are counted counter-clockwise starting from horizontal.\r\nThe edges are those places in an image that correspond to object\r\nboundaries.\r\nTo find the angles of edges, this function uses a modified SUSAN\r\ntechnique.\r\n%\r\nThis algorithm is based on the technique described on:\r\nS.M. Smith, J.M. Brady, \"SUSAN - a new approach to low level image\r\nprocessing\", Int Journal of Computer Vision, 23(1):45-78, May 1997.\r\nThis technicque is subject to a patent:\r\nS.M. Smith, \"Method for digitally processing images to determine the\r\nposition of edges and/or corners therein for guidance of unmanned\r\nvehicle. UK Patent 2272285. Proprietor: Secretary of State for\r\nDefence, UK. 15 January 1997.\r\n\r\n### KEYWORDS\r\nSUSAN, image, edge, detection, detector, orientation, direction, matlab, octave.\r\n\r\n### WARNING\r\n\r\nThis function is slow because of high computational complexity.\r\n\r\n### USAGE\r\n\r\n[ANG] = edgedir(EDG)\r\n[ANG] = edgedir(EDG, KR)\r\n[ANG] = edgedir(EDG, KR, OP)\r\n\r\n### INPUT\r\nEDG : edge strength image\r\nKR  : USAN Kernel Radius (nucleus excluded) (default = 3)\r\nOP  : if true removes from USAN the pixels that are not \r\n      directly connected with the nucleus (default = false).\r\n      IMPORTANT: This optimization is very slow, so use it carefully\r\n      only for small images and when it's really needed.\r\n\r\n### OUTPUT\r\nANG : angles of the tangents to image edges (edge orientation) in\r\n      radiants ]0,pi]. Angles are counted counter-clockwise starting\r\n      from horizontal.\r\n\r\n### Examples\r\nPlease check the edgexample.m and edgexample2.m files on how to use\r\nthis function (uncomment the last line of these files to calculate\r\nand print the edge orientation matrix).\r\n\r\n### NOTES\r\nThis implementation is not intended to be used in a production\r\nenvironment. The main purpose of this script is to clearly show how\r\nthis technique works. Better performaces could be obtained using a\r\ncompiled version or rewriting this technique using a low-level\r\nprogramming language.\r\n\r\n---------------------------------------------------------------------\r\n\r\n### Example:\r\nCheck the edgexample.m and edgexample2.m scripts for usage example.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Fedgetools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftecnickcom%2Fedgetools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Fedgetools/lists"}