{"id":22389723,"url":"https://github.com/snandasena/courseera_gpu_specilization_capstone_project","last_synced_at":"2026-05-02T09:32:57.097Z","repository":{"id":265729813,"uuid":"896513897","full_name":"snandasena/courseera_gpu_specilization_capstone_project","owner":"snandasena","description":"Coursera GPU Specilization Capstone Project","archived":false,"fork":false,"pushed_at":"2024-12-02T19:20:39.000Z","size":25156,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T03:27:40.843Z","etag":null,"topics":["cpp","cuda","gpu-programming","imageprocessing","linearalgebra"],"latest_commit_sha":null,"homepage":"","language":"Cuda","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snandasena.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2024-11-30T15:09:50.000Z","updated_at":"2024-12-02T19:23:05.000Z","dependencies_parsed_at":"2024-11-30T18:45:06.399Z","dependency_job_id":null,"html_url":"https://github.com/snandasena/courseera_gpu_specilization_capstone_project","commit_stats":null,"previous_names":["snandasena/courseera_gpu_specilization_capstone_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snandasena%2Fcourseera_gpu_specilization_capstone_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snandasena%2Fcourseera_gpu_specilization_capstone_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snandasena%2Fcourseera_gpu_specilization_capstone_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snandasena%2Fcourseera_gpu_specilization_capstone_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snandasena","download_url":"https://codeload.github.com/snandasena/courseera_gpu_specilization_capstone_project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245737859,"owners_count":20664179,"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":["cpp","cuda","gpu-programming","imageprocessing","linearalgebra"],"created_at":"2024-12-05T03:13:04.779Z","updated_at":"2026-05-02T09:32:57.066Z","avatar_url":"https://github.com/snandasena.png","language":"Cuda","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Sobel Edge Detection using CUDA\n\nThis repository contains a CUDA implementation of Sobel Edge Detection on video frames. The program uses CUDA to accelerate the process of converting BGR frames to grayscale, applying the Sobel operator for edge detection, and performing non-maximum suppression and thresholding.\n\n### Project demo\n[![YouTube Video](https://img.youtube.com/vi/8UCrLjgqONs/0.jpg)](https://www.youtube.com/watch?v=8UCrLjgqONs)\n\n\n## Requirements\n\n- NVIDIA GPU with CUDA support\n- CUDA Toolkit (version 10.0 or higher)\n- OpenCV (version 4.0 or higher)\n- C++ compiler (e.g., g++ or clang++)\n\n## Files Overview\n\n- **kernels.cu**: Contains the CUDA kernels for grayscale conversion, Sobel edge detection, non-maximum suppression, and thresholding.\n- **sobel_edge_detection.cu**: The main program file that processes a video using CUDA acceleration for Sobel edge detection.\n\n## Steps to compile:\n\n```bash\n# Install dependencies (on Ubuntu-based systems)\nsudo apt update\nsudo apt install build-essential pkg-config libopencv-dev nvidia-cuda-toolkit\n\n```\n\n```bash\n# Clone the repository\ngit clone https://github.com/snandasena/courseera_gpu_specilization_capstone_project.git\ncd courseera_gpu_specilization_capstone_project\n```\n\n```bash\n\nmake all\n```\n\n\n## Running the Program\n\nOnce compiled, you can run the program by providing the path to a video file as a command-line argument. You can also specify the low and high thresholds for the Sobel operator detection.\n\n### Example command:\n```bash\n./sobel_edge_detection_cuda \u003cvideo_path\u003e \u003clow_threshold\u003e \u003chigh_threshold\u003e\n```\n\n### Example with custom thresholds:\n```bash\n./bin/sobel_edge_detection_cuda ./inputs/project_video.mp4\n```\n\nWhere:\n- `\u003cvideo_path\u003e`: Path to the input video file.\n- `\u003clow_threshold\u003e`: Low threshold for edge detection (integer).\n- `\u003chigh_threshold\u003e`: High threshold for edge detection (integer).\n\nIf you don't provide `low_threshold` and `high_threshold`, the default values will be used (50 and 190, respectively).\n\n### Stopping the Program\n- Press `q` or `ESC` to stop the program and exit.\n\n## Troubleshooting\n\n- If the program fails to start, ensure that you have a CUDA-capable GPU and that CUDA is properly installed.\n- Ensure that OpenCV is linked correctly with the project.\n- If you encounter issues with CMake, check your CMake version and OpenCV path.\n\n## License\n\nThis code is released under the Apache License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnandasena%2Fcourseera_gpu_specilization_capstone_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnandasena%2Fcourseera_gpu_specilization_capstone_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnandasena%2Fcourseera_gpu_specilization_capstone_project/lists"}