CAMP (Crime Analysis and Monitoring Portal) is a Python-based desktop application designed to assist law enforcement agencies in efficiently managing, analyzing, and recording crime-related data. Built with PyQt5 for the GUI and integrated with MySQL, CAMP combines functionality with usability, including facial recognition-based criminal search using AI.
Our vision is to revolutionize crime analysis and case management by delivering a secure, interconnected, and intuitive software solution. CAMP aims to empower agencies with the tools needed to proactively address crimes, safeguard communities, and enhance public trust—leveraging the synergy of data and artificial intelligence.
- Add, view, edit, and delete station records.
- Data includes name, location, contact, head officer, and prisoner count.
- Maintain records with fields like name, gender, DOB, DOD, case ID, keywords, photo, contact, and prison status.
- Attach and store images securely in binary format.
- Add, update, and close cases.
- Includes case description, associated criminal ID, investigating station, status (Pending/Closed), and outcomes.
- Upload an image to match against stored criminal photos using
face_recognitionandOpenCV. - Display matched result with visual comparison and data.
- Intuitive, dark-themed UI built with PyQt5.
- Smooth navigation via stacked widgets and buttons.
- MySQL backend with relational schema and foreign keys.
- Fully supports CRUD operations with error handling.
- Attach images via file dialogs.
- Convert images to and from binary format for database storage.
- Easily converted to
.exeusing PyInstaller for standalone deployment.
| Component | Technology |
|---|---|
| Language | Python |
| GUI Framework | PyQt5 |
| Database | MySQL |
| AI Libraries | OpenCV, face_recognition |
| Image Handling | Pillow, NumPy |
| CLI Enhancements | texttable, prettytable |
| Terminal Styling | colorama |
| Packaging | PyInstaller |
-
police_stations
Stores police station information. -
criminals
Contains personal details and image data of criminals. -
criminal_cases
Holds case descriptions, statuses, and outcomes.
Relational mapping is ensured via foreign keys between criminals and criminal_cases.
CAMP/
├── Crime\_App.py # CLI application logic
├── gui\_app.py # PyQt5 GUI application
├── database/
│ └── crime\_management.sql # SQL schema (if provided)
├── assets/ # Icons, images
├── utils/
│ └── image\_conversion.py # Binary <-> Image conversion
├── README.md
- Python 3.8+
- MySQL Server
- MySQL Connector (
mysql-connector-python) - Required Python libraries
pip install -r requirements.txtpython gui_app.pypython Crime_App.py- Provide an image path when prompted.
- CAMP uses AI to extract and compare facial features.
- If a match is found, details are displayed with a visual side-by-side comparison.
***************************************
* Crime Management System *
***************************************
1. Add Police Station
2. Add Criminal
3. Add Criminal Case
...
9. Image Search
0. Exit
- Images are stored in binary form within the database.
- Face recognition is local and does not upload any user data externally.
- Error handling in place to manage invalid or missing input securely.
Add GUI screenshots, database snapshots, and sample outputs here.
Tanishq Som 🔗 GitHub: Tanishq84/CAMP
This project is licensed under the MIT License - see the LICENSE file for details.
CAMP stands as a testament to the powerful synergy between artificial intelligence and law enforcement, enabling safer and smarter communities.