{"id":30760925,"url":"https://github.com/omarbazaraa/writeridentifier","last_synced_at":"2026-03-06T14:31:50.035Z","repository":{"id":55748017,"uuid":"159325689","full_name":"OmarBazaraa/WriterIdentifier","owner":"OmarBazaraa","description":"Writer identification system written in Python","archived":false,"fork":false,"pushed_at":"2020-12-12T16:47:33.000Z","size":1336,"stargazers_count":15,"open_issues_count":2,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-04T13:54:58.735Z","etag":null,"topics":["machine-learning","pattern-recognition","python","svm-classifier","writer-identification"],"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/OmarBazaraa.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}},"created_at":"2018-11-27T11:35:42.000Z","updated_at":"2025-07-19T10:41:20.000Z","dependencies_parsed_at":"2022-08-15T06:40:58.303Z","dependency_job_id":null,"html_url":"https://github.com/OmarBazaraa/WriterIdentifier","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OmarBazaraa/WriterIdentifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarBazaraa%2FWriterIdentifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarBazaraa%2FWriterIdentifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarBazaraa%2FWriterIdentifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarBazaraa%2FWriterIdentifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OmarBazaraa","download_url":"https://codeload.github.com/OmarBazaraa/WriterIdentifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OmarBazaraa%2FWriterIdentifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30180672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T12:39:21.703Z","status":"ssl_error","status_checked_at":"2026-03-06T12:36:09.819Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["machine-learning","pattern-recognition","python","svm-classifier","writer-identification"],"created_at":"2025-09-04T13:53:38.676Z","updated_at":"2026-03-06T14:31:49.111Z","avatar_url":"https://github.com/OmarBazaraa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Writer Identifier\nWriter identification system (written in Python) for identifying the writer of a handwritten paragraph image.\n\n## Introduction\nFor centuries, handwriting analysis has been a field of interest for numerous graphologists, psychologists, and forensic experts. With the advances in technologies and artificial intelligence, researchers from all over the world have dedicated their time and energy in automating the process of handwriting analysis using computers to ensure high efficiency and fast computations.\n\nWriter identification is a sub-field of handwriting analysis that generally refers to the process of identifying the writer of a piece handwritten text.\n\nIn this repository, we present a writer identification system, where the system is required to identify the writer identity of a handwritten paragraph after getting trained upon handwriting of some different writers.\n\n## Brief Description\n\nIn our work, we used texture-based approach for writer identification, we used the potential texture descriptor, namely Local Binary Pattern **(LBP)**, and we used Support Vector Machine **(SVM)** as a classifier to distinguish between feature vectors of different writers. We tested our system on _IAM handwritten dataset_, and we were able to achieve correct identification accuracy of about _**99%**_.\n\nMore information about the system architecture and pipeline is available [here](https://github.com/OmarBazaraa/WriterIdentifier/blob/master/docs/description.pdf).\n\n## How To Use\n1. Install Python 3 interpreter\n2. Clone the repository\n   ```Console\n   git clone https://github.com/OmarBazaraa/WriterIdentifier.git\n   ```\n3. Install project dependencies\n   ```Console\n   pip install -r requirements.txt\n   ```\n4. Add testcases into `/data/testcases/` folder by following [this](/data/testcases/README.md) format\n4. Run the project\n   ```Console\n   python ./src/main.py\n   ```\n\n**Note:** the system is tested on Windows using `Python 3.8.6` but should work on other platforms as well.\n\n## Dataset Used\nIAM offline handwriting database.\n\n\u003e U. Marti and H. Bunke.\n\u003e The IAM-database: An English Sentence Database for Off-line Handwriting Recognition.\n\u003e Int. Journal on Document Analysis and Recognition, Volume 5, pages 39 - 46, 2002.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarbazaraa%2Fwriteridentifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomarbazaraa%2Fwriteridentifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarbazaraa%2Fwriteridentifier/lists"}