{"id":20079732,"url":"https://github.com/grachale/convolution_image","last_synced_at":"2026-05-03T22:34:16.106Z","repository":{"id":214231377,"uuid":"736013667","full_name":"grachale/convolution_image","owner":"grachale","description":"The implementation of a function that takes an image (RGB or gray one) and a filter (kernel) and applies a convolution between them.","archived":false,"fork":false,"pushed_at":"2023-12-26T18:45:08.000Z","size":7751,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-21T14:55:40.633Z","etag":null,"topics":["convolution","image-processing","numpy","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/grachale.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}},"created_at":"2023-12-26T18:24:51.000Z","updated_at":"2023-12-26T18:46:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"4fb901f0-adb4-442f-b9f5-0689c415fd7f","html_url":"https://github.com/grachale/convolution_image","commit_stats":null,"previous_names":["grachale/convolution_image"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grachale/convolution_image","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fconvolution_image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fconvolution_image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fconvolution_image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fconvolution_image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grachale","download_url":"https://codeload.github.com/grachale/convolution_image/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fconvolution_image/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32587821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["convolution","image-processing","numpy","python"],"created_at":"2024-11-13T15:24:24.052Z","updated_at":"2026-05-03T22:34:16.089Z","avatar_url":"https://github.com/grachale.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Convolution Image Processing Method\n\n## Overview\n\nThis repository introduces a versatile method for implementing convolution operations between images and filters. The method supports 2D filters of any dimension and seamlessly handles both grayscale and RGB images. In the case of RGB images, the filter is applied independently to each channel. The method ensures robust handling of pixels outside the image boundary by filling them with zeros during convolution. It is assumed that the kernels used are square.\n\n## Examples of usage \n```python\nfrom filtering.filtering import apply_filter\nfrom filtering.helpers import *\n\nimage = read_image('tests/lenna.png')\ndisplay_image(image)\n```\n![](tests/lenna.png)\n\n```python\nfor filter_name, kernel in filters.items():\n    print(filter_name)\n    display_image(apply_filter(image, kernel))\n```\nIdentity  \n\n\n![](tests/lenna.png)  \n\n\nGaussian blur 3x3 (approx)  \n\n\n![](tests/lenna_gaussian_blur.png)  \n\n\nEdge detection  \n\n\n![](tests/lenna_gray_edge_detection.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrachale%2Fconvolution_image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrachale%2Fconvolution_image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrachale%2Fconvolution_image/lists"}