{"id":33317787,"url":"https://github.com/sopheakchan/dull-razor-algorithm","last_synced_at":"2026-05-06T09:42:46.329Z","repository":{"id":324866572,"uuid":"1098856857","full_name":"sopheakchan/dull-razor-algorithm","owner":"sopheakchan","description":"DullRazor hair removal for dermoscopic skin images.","archived":false,"fork":false,"pushed_at":"2025-11-18T08:58:20.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-18T10:19:01.557Z","etag":null,"topics":["numpy","opencv","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sopheakchan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-18T08:30:42.000Z","updated_at":"2025-11-18T09:00:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sopheakchan/dull-razor-algorithm","commit_stats":null,"previous_names":["sopheakchan/dull-razor-algorithm"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/sopheakchan/dull-razor-algorithm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopheakchan%2Fdull-razor-algorithm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopheakchan%2Fdull-razor-algorithm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopheakchan%2Fdull-razor-algorithm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopheakchan%2Fdull-razor-algorithm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sopheakchan","download_url":"https://codeload.github.com/sopheakchan/dull-razor-algorithm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sopheakchan%2Fdull-razor-algorithm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285299189,"owners_count":27148079,"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","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["numpy","opencv","python"],"created_at":"2025-11-19T18:00:21.144Z","updated_at":"2026-05-06T09:42:46.322Z","avatar_url":"https://github.com/sopheakchan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DullRazor Hair Removal for Dermoscopic Images\nA Preprocessing Script for Skin Lesion Datasets (Python + OpenCV)\n\nA simple way to remove hair from skin lesion images. When working with skin cancer datasets (like ISIC or HAM10000), many images contain hair.\nHair can cover the lesion and make it harder for doctors and machine learning models to see important details.\nThe script processes an entire dataset with class subfolders and outputs hair-removed images while preserving the original folder structure.\n\nHair on the skin can:\n- hide the true shape of the lesion\n- confuse machine learning models\n- make the image look noisy or unclear\n- affect accuracy during training\n\nBy removing hair, the images become cleaner, easier to analyze, and better for training models.\n\n# How DullRazor actually works\nDullRazor follows a few simple steps:\n\n1. Turn the image to grayscale\n→ easier to detect dark hair.\n\n2. Find the dark hair using a filter\n→ this highlights hair areas.\n\n3. Create a mask of where the hair is\n→ white = hair, black = not hair.\n\n4. Make the mask a bit thicker (optional)\n→ so all the hair is removed.\n\n5. Use inpainting to fill the hair areas\n→ fills the hair pixels using nearby skin pixels\n→ makes the image look natural.\n\n\u003cimg width=\"1052\" height=\"288\" alt=\"image\" src=\"https://github.com/user-attachments/assets/b3e7337d-8013-44df-a19e-7cf480ff0caa\" /\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsopheakchan%2Fdull-razor-algorithm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsopheakchan%2Fdull-razor-algorithm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsopheakchan%2Fdull-razor-algorithm/lists"}