{"id":21301323,"url":"https://github.com/sajalkmr/notesseparator","last_synced_at":"2026-05-10T17:05:59.464Z","repository":{"id":117935747,"uuid":"585259239","full_name":"sajalkmr/NotesSeparator","owner":"sajalkmr","description":"A simple deep learning model to separate Handwritten notes and non notes images with Python and Tensorflow","archived":false,"fork":false,"pushed_at":"2023-03-18T19:05:27.000Z","size":41737,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-22T08:12:43.669Z","etag":null,"topics":["deep-learning","image-classification","machine-learning","python","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sajalkmr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-01-04T18:07:46.000Z","updated_at":"2024-08-11T09:17:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"053bd552-42a7-4869-a541-b6dda58bec7b","html_url":"https://github.com/sajalkmr/NotesSeparator","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/sajalkmr%2FNotesSeparator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajalkmr%2FNotesSeparator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajalkmr%2FNotesSeparator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sajalkmr%2FNotesSeparator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sajalkmr","download_url":"https://codeload.github.com/sajalkmr/NotesSeparator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243772088,"owners_count":20345580,"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":["deep-learning","image-classification","machine-learning","python","tensorflow"],"created_at":"2024-11-21T15:45:05.427Z","updated_at":"2026-05-10T17:05:59.417Z","avatar_url":"https://github.com/sajalkmr.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HandwrittenNotesClassification\nA deep learning model to separate Handwritten notes and non notes images with Python and Tensorflow.\n\n\n\u003ch2\u003eRequirements\u003c/h2\u003e\n\u003cul\u003e\n\t\u003cli\u003ePython 3.6+\u003c/li\u003e\n\t\u003cli\u003eTensorFlow 2.0+\u003c/li\u003e\n\t\u003cli\u003eOpenCV 4.0+\u003c/li\u003e\n  \u003cli\u003eNumpy\u003c/li\u003e\n  \u003cli\u003eJson\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eUsage\u003c/h2\u003e\n\u003col\u003e\n\t\u003cli\u003eClone this repository to your local machine.\u003c/li\u003e\n\t\u003cli\u003eInstall the required packages listed in the \u003ccode\u003erequirements.txt\u003c/code\u003e file by running \u003ccode\u003epip install -r requirements.txt\u003c/code\u003e.\u003c/li\u003e\n\t\u003cli\u003ePlace the images you want to classify in the \u003ccode\u003etest_images\u003c/code\u003e directory.\u003c/li\u003e\n\t\u003cli\u003ePut your model in the \u003ccode\u003emodels\u003c/code\u003e directory. The model should be saved in the \u003ccode\u003e.h5\u003c/code\u003e format.\u003c/li\u003e\n\t\u003cli\u003eRun the \u003ccode\u003eNotesSeparator.py\u003c/code\u003e script to classify the images: \u003ccode\u003eNotesSeparator.ipynb \u003c/code\u003eif you are running in Jupyter Notebook.\u003c/li\u003e\n\t\u003cli\u003eThe classified images will be saved in the \u003ccode\u003eoutput\u003c/code\u003e directory.\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2\u003eExample File Structure\u003c/h2\u003e\n\u003cpre\u003e\n\t├── classify_notes.py\n\t├── models\n\t│   └── notesmodel.h5\n\t├── output\n\t│   ├── non_notes\n\t│   ├── notes\n\t│   └── results\n\t│       ├── image1.png\n\t│       ├── image1.json\n\t│       ├── image2.png\n\t│       ├── image2.json\n\t│       └── results.json\n\t├── README.md\n\t└── test_images\n\t    ├── image1.jpg\n\t    └── image2.jpg\n\u003c/pre\u003e\n\n\u003ch2\u003eModel Architecture\u003c/h2\u003e\n\u003cp\u003eThe model used for this project is a Convolutional Neural Network (CNN) with the following layers:\u003c/p\u003e\n\u003col\u003e\n\t\u003cli\u003eConv2D layer with 16 filters and a kernel size of (3,3)\u003c/li\u003e\n\t\u003cli\u003eMaxPooling2D layer\u003c/li\u003e\n\t\u003cli\u003eConv2D layer with 32 filters and a kernel size of (3,3)\u003c/li\u003e\n\t\u003cli\u003eMaxPooling2D layer\u003c/li\u003e\n\t\u003cli\u003eConv2D layer with 16 filters and a kernel size of (3,3)\u003c/li\u003e\n\t\u003cli\u003eMaxPooling2D layer\u003c/li\u003e\n\t\u003cli\u003eFlatten layer\u003c/li\u003e\n\t\u003cli\u003eDense layer with 256 neurons\u003c/li\u003e\n\t\u003cli\u003eDense layer with 1 neuron (output layer) with a sigmoid activation function\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2\u003eFiles Saved After Classification\u003c/h2\u003e\n\u003cp\u003eThe classified images are saved in either the \u003ccode\u003enotes\u003c/code\u003e or \u003ccode\u003enon_notes\u003c/code\u003e directory in the \u003ccode\u003eoutput\u003c/code\u003e folder depending on their classification. Additionally, a \u003ccode\u003eresults.json\u003c/code\u003e file is created in the \u003ccode\u003eoutput/results\u003c/code\u003e folder that contains the results of the classification for each image.\u003c/p\u003e\n\n\u003ch2\u003eContributing\u003c/h2\u003e\n\u003cp\u003eContributions are welcome. Please fork the repository and submit a pull request.\u003c/p\u003e\n\n\u003ch2\u003eLicense\u003c/h2\u003e\n\u003cp\u003eThis project is licensed under the MIT License.\u003c/p\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsajalkmr%2Fnotesseparator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsajalkmr%2Fnotesseparator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsajalkmr%2Fnotesseparator/lists"}