{"id":19316658,"url":"https://github.com/anas-farooq8/parallel-imageprocessing-opencl","last_synced_at":"2025-02-24T04:42:03.706Z","repository":{"id":247811658,"uuid":"801471180","full_name":"anas-farooq8/Parallel-ImageProcessing-OpenCL","owner":"anas-farooq8","description":"OpenCL Image Processing: Explore efficient image processing algorithms using OpenCL, a framework for parallel computing. Convert colored images to grayscale for tasks like skin cancer detection, leveraging the ISIC 2020 Challenge Dataset. Includes optimized parallelized algorithms and documentation for seamless implementation.","archived":false,"fork":false,"pushed_at":"2024-05-19T09:34:23.000Z","size":7073,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-06T04:12:45.790Z","etag":null,"topics":["c","cpu","data-parallel","gpu-computing","grayscale-images","image-processing","kernel-functions","opencl","parallel-processing"],"latest_commit_sha":null,"homepage":"","language":"C","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/anas-farooq8.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":"2024-05-16T09:44:08.000Z","updated_at":"2024-07-10T15:29:30.000Z","dependencies_parsed_at":"2024-07-10T20:11:55.947Z","dependency_job_id":null,"html_url":"https://github.com/anas-farooq8/Parallel-ImageProcessing-OpenCL","commit_stats":null,"previous_names":["anas-farooq8/parallel-imageprocessing-opencl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-farooq8%2FParallel-ImageProcessing-OpenCL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-farooq8%2FParallel-ImageProcessing-OpenCL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-farooq8%2FParallel-ImageProcessing-OpenCL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-farooq8%2FParallel-ImageProcessing-OpenCL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anas-farooq8","download_url":"https://codeload.github.com/anas-farooq8/Parallel-ImageProcessing-OpenCL/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240420938,"owners_count":19798501,"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":["c","cpu","data-parallel","gpu-computing","grayscale-images","image-processing","kernel-functions","opencl","parallel-processing"],"created_at":"2024-11-10T01:12:09.282Z","updated_at":"2025-02-24T04:42:03.675Z","avatar_url":"https://github.com/anas-farooq8.png","language":"C","readme":"\n# Optimal Image Preprocessing using OpenCL\n## Analysis Towards Melanoma Detection\nThis project aims to provide hands-on experience with parallel and distributed computing using OpenCL by converting a dataset of colored images of skin lesions into grayscale images. Specifically, it focuses on processing images from \"The ISIC 2020 Challenge Dataset\" to aid in early skin cancer detection and diagnosis.\n\n## Objective\nThe objective of this project is to convert the ISIC 2020 Challenge Dataset, which consists of dermoscopic images of skin lesions, into grayscale images using OpenCL parallel computing. By converting these images to grayscale, the complexity is reduced, facilitating tasks such as lesion segmentation and aiding in computational efficiency.\n\n## The ISIC 2020 Challenge Dataset\nThe ISIC dataset is a crucial resource for dermatology and medical image analysis, offering a diverse collection of high-quality skin lesion images. It supports the development of diagnostic systems, segmentation algorithms, and deep learning models for automated lesion detection and classification. Converting these images to grayscale simplifies image representation and aids in analysis and processing.\n\n## Download the Dataset\nTest\nSet available at containing 10,982 JPEG images of different sizes:\nhttps://isic-challenge-data.s3.amazonaws.com/2020/ISIC_2020_Test_JPEG.zip\n\n##  Problem Description\nYou are provided with a dataset of colored images of skin lesions in JPEG format. The task is to convert these colored images to grayscale images using OpenCL parallel computing.\n\n# Installation\n\n## Steps to Follow:\n\n* Install WSL (Windows Subsystem for Linux):\n    - Open PowerShell or terminal as administrator and run:\n    ```bash\n    wsl --install\n    ```\n\n*  [Clone the repository](https://github.com/anas-farooq8/Parallel-ImageProcessing-OpenCL.git) to your local machine.\n\n* Download the stb_image and stb_image_write .h files from the github link.\n    [Click here.](https://github.com/nothings/stb/tree/master)\n\n*  Navigate to the clonned directory; paste the .h files; update package list and install necessary packages:\n    ```bash\n    cd  Parallel-ImageProcessing-OpenCL\n    sudo apt-get update \u0026\u0026 \\\n    sudo apt-get install -y pocl-opencl-icd ocl-icd-opencl-dev gcc clinfo\n    ```\n\n* Check available OpenCL devices:\n    ```bash\n    clinfo\n    ```\n\n* If your Intel integrated GPU doesn't appear, run:\n    ```bash\n    sudo apt install intel-opencl-icd\n    ```\n\n## Compilation \u0026 Execution\n`gcc host.c -o host -lm -lOpenCL`\n\n`./host`\n\n\n\n### Additional Notes: My graphics card (Intel(R) UHD Graphics 620)\n## Additional Notes\n\n### 1. Change the Paths in the Code\nUpdate the paths for the input and output images in `host.c`:\n\n```c\n// Specify the input and output image paths\nconst char* inputPath = \"\";\nconst char* outputPath = \"\";\n```\n\n### 2. Select the desired Platform and Device Id\n```c\n// Select the Platform Id\nerr = clGetPlatformIDs(1, \u0026platform_id, NULL);\n\n// Select the Device Id\nerr |= clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_GPU, 1, \u0026device_id, NULL);\n```\n\n### 3. Experiment with the local size\n```c\n// Select the local group size according to your gpu hardware.\n    // Max work group size                       256 =\u003e (Intel(R) UHD Graphics 620)\n    localSize[0] = 16;\n    localSize[1] = 16;\n```\n\n### Sample Input \u0026 output\n![ISIC_9498081](https://github.com/anas-farooq8/Parallel-ImageProcessing-OpenCL/assets/150327092/bb9f672e-707d-43ae-86ee-f9bab3b05dac)\n\n![ISIC_9498081_GrayScale](https://github.com/anas-farooq8/Parallel-ImageProcessing-OpenCL/assets/150327092/93ed6567-11ce-42ba-848b-67f1a27367a6)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanas-farooq8%2Fparallel-imageprocessing-opencl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanas-farooq8%2Fparallel-imageprocessing-opencl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanas-farooq8%2Fparallel-imageprocessing-opencl/lists"}