Teaching Machines to See in Black & White: Thresholding! 🔳🏁 Day 84/100 In a world of gray areas, sometimes a computer needs a clear 'Yes' or 'No'. 🏗️ For Day 84 of my #100DaysOfCode journey, I tackled Image Thresholding. This is the fundamental process used in QR code scanning and document digitization. By picking a mathematical 'threshold', we can strip away shadows and noise, leaving behind a high contrast binary image that a machine can easily interpret. Technical Highlights: 🔳 Binary Classification: Using np.where to force pixel values into a strict 0 (Black) or 255 (White) state. ⚡ Noise Reduction: Simplifying complex visual data into clean shapes the first step in Optical Character Recognition (OCR). 🧮 Vectorized Decision Making: Implementing conditional logic across entire matrices without the overhead of Python loops. 🔍 Feature Extraction: Understanding how thresholding helps self-driving cars identify lane markings on diverse road surfaces. Do check my GitHub repository here : https://lnkd.in/d9Yi9ZsC #100DaysOfCode #ComputerVision #NumPy #Python #BTech #IILM #AIML #ImageProcessing #SoftwareEngineering #LearningInPublic #WomenInTech
Teaching Machines to See in Black & White with Thresholding
More Relevant Posts
-
Excited to share a project I recently worked on — Smart Traffic Management System 🚦 This project focuses on optimizing traffic flow using computer vision techniques to detect and count vehicles in real-time. 🔧 Technologies Used: • Python • OpenCV • Haar Cascade Classifier • Video Processing ⚙️ Key Features: • Real-time vehicle detection using image processing • Dynamic vehicle counting from video input • Traffic density classification (Low / Medium / High) • Automated signal control based on traffic conditions 📊 How it works: The system processes video input, detects vehicles using a cascade classifier, and estimates traffic density. Based on this, it dynamically adjusts signal timing to improve traffic flow. This project helped me gain hands-on experience in computer vision, real-time data processing, and applying technology to solve real-world problems. Looking forward to building more such impactful solutions! #ComputerVision #OpenCV #Python #SmartTraffic #Projects #Engineering #LearningByDoing
To view or add a comment, sign in
-
-
𝗕𝘂𝗶𝗹𝘁 𝗮𝗻 𝗲𝘆𝗲-𝘁𝗿𝗮𝗰𝗸𝗶𝗻𝗴 𝗰𝗵𝗲𝗮𝘁𝗶𝗻𝗴 𝗱𝗲𝘁𝗲𝗰𝘁𝗶𝗼𝗻 𝘀𝘆𝘀𝘁𝗲𝗺 𝗳𝗿𝗼𝗺 𝘀𝗰𝗿𝗮𝘁𝗰𝗵 here's what I learned. Over the past few days, I've been working on a real-time iris tracking system using MediaPipe and OpenCV in Python. 𝗧𝗵𝗲 𝗰𝗼𝗿𝗲 𝗶𝗱𝗲𝗮: 𝘁𝗿𝗮𝗰𝗸 𝗶𝗿𝗶𝘀 𝗽𝗼𝘀𝗶𝘁𝗶𝗼𝗻 𝗿𝗲𝗹𝗮𝘁𝗶𝘃𝗲 𝘁𝗼 𝘁𝗵𝗲 𝗲𝘆𝗲 𝗰𝗼𝗿𝗻𝗲𝗿𝘀 𝗮𝗻𝗱 𝗰𝗹𝗮𝘀𝘀𝗶𝗳𝘆 𝗴𝗮𝘇𝗲 𝗱𝗶𝗿𝗲𝗰𝘁𝗶𝗼𝗻 (𝗹𝗲𝗳𝘁 / 𝗿𝗶𝗴𝗵𝘁 / 𝘂𝗽 / 𝗱𝗼𝘄𝗻 / 𝗰𝗲𝗻𝘁𝗲𝗿) 𝘁𝗼 𝗳𝗹𝗮𝗴 𝘀𝘂𝘀𝗽𝗶𝗰𝗶𝗼𝘂𝘀 𝗯𝗲𝗵𝗮𝘃𝗶𝗼𝘂𝗿 𝗱𝘂𝗿𝗶𝗻𝗴 𝗼𝗻𝗹𝗶𝗻𝗲 𝗲𝘅𝗮𝗺𝘀. But hardcoded thresholds broke for every new face and camera angle. So I built a calibration system — the user looks at 5 points on screen (center, left, right, top, bottom), the system collects iris ratio samples at each point, and computes personalised thresholds from their actual eye geometry. What I've done so far: ✅ Iris landmark detection with MediaPipe ✅ Horizontal + vertical ratio calculation ✅ Calibration data collection Building this as a side project. Would love to connect with anyone working in computer vision, proctoring tech, or accessibility tools. What would you add next - calibration of threshold value according to user #ComputerVision #OpenCV #MediaPipe #Python #MachineLearning #BuildInPublic
To view or add a comment, sign in
-
-
Controlling the Light: Brightness Adjustment with NumPy! 💡🌓 Day 87/100 In Computer Vision, light isn't a feeling it's an addition. For Day 87 of my #100DaysOfCode journey, I explored the mathematics of Exposure and Brightness. I learned that making a photo 'pop' is actually a simple matter of scalar addition across a 3D matrix. But the real skill lies in Clipping ensuring the math doesn't break the boundaries of 8-bit color depth. Technical Highlights: 💡 Scalar Offsetting: Using NumPy broadcasting to shift the global intensity of an image by adding or subtracting constant values. 🛡️ Value Clipping: Implementing np.clip to prevent numerical overflows, ensuring pixels never exceed 255 or drop below 0. ⚡ Performance Vectorization: Avoiding slow Python loops and using direct array operations for real-time image manipulation. 🤖 Preprocessing for AI: Understanding how brightness normalization helps ML models recognize objects in varying lighting conditions. Do check my GitHub repository here : https://lnkd.in/d9Yi9ZsC #100DaysOfCode #ComputerVision #NumPy #Python #BTech #IILM #AIML #ImageProcessing #DataScience #SoftwareEngineering #LearningInPublic #WomenInTech
To view or add a comment, sign in
-
-
The Math of the 'Negative' Effect: NumPy Broadcasting! 🌈🔄 Day 82/100 Ever wondered how a photo filter actually works? It’s just simple subtraction! 🏗️ For Day 82 of my #100DaysOfCode, I dived deeper into Image Processing. Today, I built a Color Inverter using strictly NumPy. The logic is fascinating: since digital colors are stored as integers from 0 to 255, you can create a 'Negative' effect by simply subtracting the entire image matrix from the value 255. Technical Highlights: 🔢 Broadcasting Mastery: Leveraging NumPy's ability to perform a scalar-to-matrix subtraction (255 image) without a single for loop. 🔄 Color Inversion Logic: Transforming RGB values to their mathematical opposites to create a high contrast negative effect. 🖼️ Visual Comparison: Using Matplotlib subplots to demonstrate the transformation from a linear gradient to its inverted counterpart. ⚡ Performance Engineering: Understanding how vectorized operations make real-time image filtering possible on standard hardware. Do check my GitHub repository here : https://lnkd.in/d9Yi9ZsC #100DaysOfCode #NumPy #Python #BTech #IILM #ComputerScience #AIML #ImageProcessing #SoftwareEngineering #Mathematics #LearningInPublic #WomenInTech
To view or add a comment, sign in
-
-
𝗨𝗽𝗱𝗮𝘁𝗲 𝗼𝗻 𝗺𝘆 𝗶𝗿𝗶𝘀 𝘁𝗿𝗮𝗰𝗸𝗶𝗻𝗴 𝗽𝗿𝗼𝗷𝗲𝗰𝘁: 𝗜 𝗯𝗿𝗼𝗸𝗲 𝗶𝘁. 𝗧𝗵𝗲𝗻 𝗳𝗶𝘅𝗲𝗱 𝗶𝘁 𝗽𝗿𝗼𝗽𝗲𝗿𝗹𝘆. Last post I shared the basics: detecting gaze direction using MediaPipe iris landmarks. But hardcoded thresholds like 𝗶𝗳 𝗿𝗮𝘁𝗶𝗼 < 𝟬.𝟯: 𝗱𝗶𝗿𝗲𝗰𝘁𝗶𝗼𝗻 = '𝗹𝗲𝗳𝘁' failed for every new face and camera position because every person have unique iris movement. So I built a calibration system. Here's how it works: The user looks at 5 points on screen: 𝗰𝗲𝗻𝘁𝗲𝗿, 𝗹𝗲𝗳𝘁, 𝗿𝗶𝗴𝗵𝘁, 𝘁𝗼𝗽, 𝗯𝗼𝘁𝘁𝗼𝗺. The system collects 50 iris ratio samples per point, averages them, then computes personal thresholds using the gap between their center gaze and their extreme gaze. But I made it smarter, after computing thresholds, it runs them back against the same calibration samples and scores itself: ✅ >90% accuracy → trust the thresholds ⚠️ 70–90% → acceptable, some false positives ❌ <70% → force recalibration Also discovered vertical gaze is much harder than horizontal. The iris barely moves up/down compared to left/right. because vertical iris movement is too low distance 𝗶𝗳 𝘆𝗼𝘂 𝗸𝗻𝗼𝘄 𝗮𝗻𝘆 𝘁𝗲𝗰𝗵𝗻𝗶𝗾𝘂𝗲 𝘁𝗼 𝗰𝗮𝗹𝗰𝘂𝗹𝗮𝘁𝗲 𝘃𝗲𝗿𝘁𝗶𝗰𝗮𝗹 𝗶𝗿𝗶𝘀, 𝗱𝗿𝗼𝗽 𝗶𝗻 𝗰𝗼𝗺𝗺𝗲𝗻𝘁 !!! Building this one bug at a time. #ComputerVision #OpenCV #MediaPipe #Python #BuildInPublic #MachineLearning
To view or add a comment, sign in
-
-
Going from writing Python code and problem solving to working with ROS2 robotics is a big change in how you think. Your code is kept in a clean digital box in standard Python scripts. You need to make an architecture in ROS2 that can understand physical space, build systems, and the timing of hardware. I've been digging deep into the ROS2 backend for the past few days, and I finally got to see the math come to life on my screen. -> I made my first ROS2 package from the ground up. Taking the time to learn how colcon build reads package.xml and Python files to make the setup.The bash overlay finally made the "magic" of ROS2 make sense. -> Learned how nodes drop high-speed "best effort" sensor data if they think it will be delivered reliably (QoS). We also learned how to use namespaces and parameter overrides so that two identical sensors, like dual LiDARs, don't try to use the same USB ports. -> This was the big win today: turning spatial math into 3D visualization. I went from simple 2D logic to writing a full Xacro/URDF blueprint for a multi-link robotic arm with a base, three joints, a gripper, and a camera to make a complicated TF Tree. I was able to broadcast the robot using robot_state_publisher, start RViz2, and use joint_state_publisher_gui to move the arm's joints in real time after dealing with a lot of strict syntax rules and file path errors. Going from raw XML code and terminal errors to a moving 3D model makes the steep learning curve entirely worth it. #ROS2 #Robotics #RoboticsEngineering #Python
To view or add a comment, sign in
-
-
Something I did not expect to find in my data: Machines that fail are actually running slower, not faster. When I plotted rotational speed against machine failure, failures clustered at lower RPM values. The intuition: a machine running slowly under high torque is under more mechanical strain than one running fast with lower load. Slow does not mean safe. This is why you cannot look at one sensor in isolation. Failure is a combination of speed, torque, temperature, wear , all interacting at once. This is why I engineered a " Wear * Torque" feature instead of using them separately. It captures the interaction that causes Overstrain Failure directly. What I learned: domain knowledge matters as much as the algorithm. #DataScience #FeatureEngineering #MachineLearning #Python
To view or add a comment, sign in
-
-
I’ve been refining a fish schooling simulation, focusing on the interplay between individual agents and environmental targets. By using #Python + #NumPy, I’ve moved from basic "Boids" logic to a more robust, vectorized system that handles high agent counts without sacrificing performance. The logic: Cohesion & Alignment: Collective intelligence. Separation: Precise collision avoidance. Target Weighting: Dynamic interaction with attraction/repulsion points. Always looking for ways to make computational workflows faster and more responsive. #Grasshopper #Simulation #Rhino3d #AlgorithmicDesign
To view or add a comment, sign in
-
Day 48: 90-Day Coding Challenge 🚀 Today was about counting, grouping, and optimizing computations using patterns. Focused on reducing brute force by using mathematical insights, frequency tracking, and smart windowing techniques. Today’s learning highlights: ✅ Applying sliding window & grouping logic to minimize swaps ✅ Using frequency/counting & cycle detection patterns for duplicates and majority elements ✅ Leveraging contribution technique to compute sum of subarrays and submatrices efficiently The key was realizing that every element contributes in a pattern - and exploiting that saves time. Count smartly. Group efficiently. Avoid brute force. Day 48 done. On to Day 49. 💻🔥 Anchal Sharma Ikshit .. #90DayCodingChallenge #CodingJourney #ProblemSolving #Arrays #SlidingWindow #Math #LearningJourney #Consistency #Growth
To view or add a comment, sign in
-
After spending around 2 weeks working on a real-world Computer Vision project, I’m happy to share my Drowsiness Detection System using Python and OpenCV 🚀 This project focuses on detecting driver fatigue in real-time using a webcam. It identifies the face and eyes using Haar Cascade classifiers, and continuously monitors eye activity. If the eyes remain closed for a certain duration, the system triggers an alert sound notification to indicate possible drowsiness. During this project, I worked on: Real-time video capture and processing using OpenCV Face and eye detection using Haar Cascade classifiers Frame-based logic to track eye closure duration Implementing an alert system using sound notification Handling file paths and runtime stability issues This project really helped me understand how computer vision works in real-time environments and how small logical improvements can make a system more reliable and effective. It also strengthened my understanding of: Python programming OpenCV fundamentals Real-time system design Debugging and problem-solving skills Looking forward to building more such real-world projects and improving my skills in Computer Vision and AI development 🚀 GitHub Repo:- https://lnkd.in/gD8ystW9 #Python #OpenCV #ComputerVision #AI #MachineLearning #Project #CodingJourney #LearningByBuilding #Consistency #Programming
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development