{"id":26264749,"url":"https://github.com/enesdoruk/weather-classification-ros-opencv","last_synced_at":"2026-04-17T19:02:38.265Z","repository":{"id":123414751,"uuid":"262035486","full_name":"enesdoruk/Weather-Classification-ROS-OpenCV","owner":"enesdoruk","description":null,"archived":false,"fork":false,"pushed_at":"2022-02-07T09:19:30.000Z","size":821,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-14T02:17:52.535Z","etag":null,"topics":["classification","machine-learning","opencv","ros","weather"],"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/enesdoruk.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-05-07T11:47:03.000Z","updated_at":"2024-05-28T12:29:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"4bf16635-cdb2-401f-af95-d539dd28d69b","html_url":"https://github.com/enesdoruk/Weather-Classification-ROS-OpenCV","commit_stats":null,"previous_names":["enesdoruk/weather-classification-ros-opencv"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enesdoruk%2FWeather-Classification-ROS-OpenCV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enesdoruk%2FWeather-Classification-ROS-OpenCV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enesdoruk%2FWeather-Classification-ROS-OpenCV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enesdoruk%2FWeather-Classification-ROS-OpenCV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enesdoruk","download_url":"https://codeload.github.com/enesdoruk/Weather-Classification-ROS-OpenCV/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243510057,"owners_count":20302296,"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":["classification","machine-learning","opencv","ros","weather"],"created_at":"2025-03-14T02:17:54.822Z","updated_at":"2025-12-27T23:19:46.143Z","avatar_url":"https://github.com/enesdoruk.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **TRAINING**\n\nFirst put the image dataset under adastec_weather_cls/dataset/img folder.\n\n![Screenshot](1.png)\n\nIn the second stage, feature extraction will be done. Feature extraction should be saved in CSV format. If it is not saved in CSV format, the feature extraction process is repeated for each model.\n\n![Screenshot](2.png)\n\nCheck the file path is correct.\n\nFor feature extraction;\n```\n  python adastec_weather_cls/process/feature_extractor.py\n```\n\nUnder the train test folder, there are cloud-rain, sun-cloud, sun-rain training files for binary classification. For model training, these models need to be trained one by one.\n\n![Screenshot](2.png)\n\nYou can modify the hyperparameters before training the models. Pay attention to the file paths used in this section.\n\nTo train the models;\n```\n  python adastec_weather_cls/train_test/cloud_rain_cls.py\n  python adastec_weather_cls/train_test/sun_cloud_cls.py\n  python adastec_weather_cls/train_test/sun_rain_cls.py\n```\n\n# **TESTING**\n\nAfter the model training is done, the weight file of each model is saved under the adastec_weather_cls/weights folder. If you want to test the classifiers separately, you can run the test files under the adastec_weather_cls/train_test folder.\n\nTo test the models;\n```\n  python adastec_weather_clstrain_test/cloud_rain_test.py\n  python adastec_weather_clstrain_test/sun_cloud_test.py\n  python adastec_weather_clstrain_test/sun_rain_test.py\n```\n(Pay attention to the file paths in the code)\n\nThe adastec_weather_cls/main.py file is used to test the 3 classes using the binary classification mentioned in the article.\n\n![Screenshot](4.png)\n\nYou can change the hyperparameters in the main file. You can also change the file paths from this section.\n\nTo run the binary classifier;\n```\n  python adastec_weather_cls/main.py\n```\n\n# **ROS**\n\nThe bag2dataset package is used to convert the bag file to a data set. There is a separate launch file for each weather condition.\n\n![Screenshot](5.png)\n\nFrom the launch file, you can write the path to the folder to be saved, the class name and the publisher topic name.\n\nTo run the launch files;\n(when under weather_ros folder)\n```\n  roslaunch bag2dataset bag2dataset_cloudy.launch \n  roslaunch bag2dataset bag2dataset_sunny.launch \n  roslaunch bag2dataset bag2dataset_raıny.launch \n```\n\nA classification package was created to test the model in real time. There is adastec_classification.launch file in the weather_ros/src/classification/launch folder.\n\n![Screenshot](5.png)\n\nYou can change the parameters from the launch file. At the same time, the file path of the weight files used must be entered correctly.\n\nFor real-time testing;\n```\n  roslaunch classification adastec_classification.launch \n```\n\n**WARNING: Make sure the file paths are correct.**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenesdoruk%2Fweather-classification-ros-opencv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenesdoruk%2Fweather-classification-ros-opencv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenesdoruk%2Fweather-classification-ros-opencv/lists"}