{"id":16692492,"url":"https://github.com/meshtag/image-processing_practice","last_synced_at":"2025-04-10T01:14:17.560Z","repository":{"id":104070128,"uuid":"291811262","full_name":"meshtag/Image-processing_practice","owner":"meshtag","description":"Repository for practicing image processing techniques.","archived":false,"fork":false,"pushed_at":"2022-02-10T03:47:23.000Z","size":14067,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T01:14:10.042Z","etag":null,"topics":["dilation","edge-detection","erosion","rotation","rotation-matrix"],"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/meshtag.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":"2020-08-31T19:54:56.000Z","updated_at":"2025-01-30T15:01:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb466760-8dcf-4210-b5e1-bc77eaf765d3","html_url":"https://github.com/meshtag/Image-processing_practice","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/meshtag%2FImage-processing_practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshtag%2FImage-processing_practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshtag%2FImage-processing_practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshtag%2FImage-processing_practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meshtag","download_url":"https://codeload.github.com/meshtag/Image-processing_practice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137891,"owners_count":21053775,"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":["dilation","edge-detection","erosion","rotation","rotation-matrix"],"created_at":"2024-10-12T16:27:18.309Z","updated_at":"2025-04-10T01:14:17.552Z","avatar_url":"https://github.com/meshtag.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SRA_Image-processing_practice\n\nThe following operations have been performed mainly using only Numpy Library.Images were saved using matplotlib and pillow.\n\n### 1. Image Rotation\n\nImages were rotated with the help of two dimensional rotation matrix.\n\n![Rotation Matrix](https://legacy.voteview.com/images/homework_1_1_18_2011.jpg)\n\n|\u003cimg width=\"640\" height=\"450\" src=\"https://github.com/gautam-dev-maker/Image_Processing/blob/master/1.Image_Rotation/rotate.png\"\u003e| \n|:---:|\n|Input Image|\n\n\nOutput\n|\u003cimg width=\"640\" height=\"450\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/1.Rotation/res_rotate.png\"\u003e|\nRotation\n\n### 2. Applying Kernels\n\nConvolution is a simple mathematical operation which is fundamental to many common image processing operators. Convolution provides a way of multiplying together two arrays of numbers, generally of different sizes, but of the same dimensionality, to produce a third array of numbers of the same dimensionality.Kernels form the Second Matrix which provides effects to the Image.\n![figure3](https://user-images.githubusercontent.com/35737777/68632479-95c61f80-04e6-11ea-80b2-2e86a4fcc258.jpg)\n\nApplying 5X5 filters to do the following task\n1. Blurring \n2. Sharpening\n\n|\u003cimg width=\"446\" height=\"447\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/2.Applying%20kernels/filter.png\"\u003e|\n|:---:|\n|Input Image|\n\n**Output**\n|\u003cimg width=\"640\" height=\"450\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/2.Applying%20kernels/res_box_blur.png\"\u003e|\u003cimg width=\"640\" height=\"450\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/2.Applying%20kernels/res_gaussian_blur.png\"\u003e|\u003cimg width=\"640\" height=\"450\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/2.Applying%20kernels/res_sharpen.png\"\u003e|\n|:---:|:---:|:---:|\n|Box Blur|Gaussian Blur|Sharpen|\n\n### 3. Edge Detection\n\nEdge detection is an image processing technique for finding the boundaries of objects within images. It works by detecting discontinuities in brightness.\n\nApplying Edge Detection in following sequence \n1. Vertical edge detection\n2. Horizontal edge detection\n3. Sobel edge detection (right, left, top, bottom)\n4. Canny edge detection  \n\n|\u003cimg width=\"602\" height=\"452\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/3.Edge_detection/edge-detection.png\"\u003e|\n|:---:|\n|Input Image|\n\n**Output**\n|\u003cimg width=\"602\" height=\"452\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/3.Edge_detection/res_horizontal_edge_detection.png\"\u003e|\u003cimg width=\"602\" height=\"452\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/3.Edge_detection/res_vertical_edge_detection.png\"\u003e|\n|:---:|:---:|\n|Horizontal Edge Detection|Vertical Edge Detection|\n|\u003cimg width=\"602\" height=\"452\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/3.Edge_detection/res_sobel_edge_detection.png\"\u003e|\u003cimg width=\"602\" height=\"452\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/3.Edge_detection/res_canny.png\"\u003e|\n|Sobel Edge Detection|Canny Edge Detection|\n\n### 4. Morphological Transformation\nMorphological transformations are some simple operations based on the image shape. It is normally performed on binary images. It needs two inputs, one is our original image, second one is called structuring element or kernel which decides the nature of operation. Two basic morphological operators are Erosion and Dilation.\nApplying dilation and erosion transformation to the image\n\n**Output**\n|\u003cimg width=\"112\" height=\"150\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/4.Morphological%20Transformations/morphological.png\"\u003e|\u003cimg width=\"112\" height=\"150\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/4.Morphological%20Transformations/res_dilation.png\"\u003e|\u003cimg width=\"112\" height=\"150\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/4.Morphological%20Transformations/res_erosion.png\"\u003e|\u003cimg width=\"112\" height=\"150\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/4.Morphological%20Transformations/res_opening_transformation.png\"\u003e|\n|:---:|:---:|:---:|:---:|\n|Input-Image|Dilation|Erosion|Edge-Detection|\n\n### 5. Masking\nMasking is an image processing method in which we define a small 'image piece' and use it to modify a larger image. Masking is the process that is underneath many types of image processing, including edge detection, motion detection, and noise reduction.\nTo show only blue ball a mask has been applied to the following input image\n|\u003cimg width=\"600\" height=\"396\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/5.Masking/mask.jpg\"\u003e|\u003cimg width=\"600\" height=\"396\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/5.Masking/res_masking.png\"\u003e|\n|:---:|:---:|\n|Input Image|Masked Image(output)|\n\n### 6. ROI\nA region of interest (ROI) is a portion of an image that you want to filter or perform some other operation on.\n\u003cimg width=\"640\" height=\"450\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/6.ROI/roi.jpg\"\u003e|\u003cimg width=\"640\" height=\"450\" src=\"https://github.com/meshtag/SRA_Image-processing_practice/blob/master/6.ROI/result_roi.png\"\u003e\n|:---:|:---:|\n|Input Image|Output Image|\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeshtag%2Fimage-processing_practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeshtag%2Fimage-processing_practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeshtag%2Fimage-processing_practice/lists"}