Giter Site home page Giter Site logo

vincentli1216 / airboard Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 55.73 MB

Project Airboard represents a cutting-edge solution in the realm of educational technology, specifically designed to enhance the learning experience through an intelligent note capture system. This project is tailored for avid learners seeking an efficient, user-friendly, and dependable method for note-taking.

License: Other

Python 99.57% Shell 0.43%
computer-vision cv2 note-taking

airboard's Introduction

License: MIT GitHub Release

Project Airboard: Intelligent Note Capture System

Overview

Project Airboard represents a cutting-edge solution in the realm of educational technology, specifically designed to enhance the learning experience through an intelligent note capture system. This project is tailored for avid learners seeking an efficient, user-friendly, and dependable method for note-taking.

Table of Content

Key Features

  • Smart Capture: Leveraging advanced algorithms, Airboard proficiently identifies optimal moments for note capture during MP4 lecture recordings. This feature ensures that the most significant content is accurately recorded, enhancing the quality and comprehensiveness of notes.

  • Obstacle Detection and Resolution: Unique to Airboard is its ability to recognize and address obstacles obstructing the note-taking area. The system ingeniously utilizes multiple image sources to reconstruct and present an unobstructed, comprehensive view of the notes.

  • Customization and Flexibility: At its core, Airboard is built using Python, offering a high degree of customization. Users can effortlessly adapt and modify the system to align with their specific requirements, making it a versatile tool in various educational settings.

Target Audience

Project Airboard is ideally suited for students, educators, and professionals who engage with digital learning materials and seek to optimize their note-taking process.

By providing a seamless integration of technology with the learning process, Project Airboard aims to revolutionize the way we capture and interact with educational content.


Installation Guide

1. Clone the project

git clone [email protected]:VincentLi1216/airboard.git && cd airboard

2. Install Python 3.11.6 or above

Go to the Python Official Website

3. pip install virtualenv

pip install virtualenv

4. Create Virtualenv

virtualenv -p <path to your python 3.11.6> venv

5. Init the project

sh init.sh

Demo

1. Put Your File in ./cache/mp4_videos

├── mp4_videos
│   └── <PUT YOUR FILE HERE>
├── utils
│   └── ...
├── venv
│   └── ...
├── main.py
│
├── ...

image

2. Put Corresponding Path into the Function

from main import main

main("./mp4_videos/example_EM.mp4", skip_steps=["", ""])

3. Execute the Code by "sh run.sh"

image

4. See the result

├── mp4_videos
│   └── ...
├── utils
│   └── ...
├── cache
│   └── <NAME OF YOUR VIDEO>
│       └──final_result
├── main.py
│
├── ...

image


Features

Corner Selector

The Corner Selector offers a user-friendly interface, enabling users to swiftly and accurately define regions of interest. With this tool, precise selection is accomplished in a single step, streamlining the user experience for enhanced productivity. image

Auto Obstacle Mask

Airboard's sophisticated obstacle recognition technology can identify obstructions in the frame and create high-precision masks. This feature facilitates the seamless combination of images, ensuring clarity and continuity in visual outputs. image

Find Critical Indices

This feature tackles the challenge of pinpointing critical frames in long videos(1 hour +). By analyzing each frame, the algorithm smartly extracts the most comprehensive and relevant notes, optimizing content assimilation from lengthy recordings. image

Combine Image

In instances where obstacles are detected, the system intelligently employs multiple images to construct the most comprehensive and unobstructed view, ensuring the integrity and completeness of visual information. image image

Skippable Process

Recognizing the need for flexibility in development, the Skippable Process feature allows developers to bypass specific time-consuming tasks, facilitating efficient exploration and fine-tuning of the project. image


Code Examples

from main import main

# Warning: YOU SHOULD NOT SKIP ANY STEP in the first run
# note: you can fill in ["init_workplace", "capture_frames", "crop_img", "find_critical_indices", "combine_img"] in skip_steps
main("<Path to Your Video>", skip_steps=[])

License

This project is licensed under the MIT License - see the LICENSE file for details.


Contact Information

My email

For any inquiries or further information, feel free to reach out:

airboard's People

Contributors

vincentli1216 avatar

Stargazers

 avatar

Watchers

 avatar

airboard's Issues

find_critical_indices.py, line 20, in find_critical_indices: IndexError: list index out of range

以下是我的執行結果:

(venv) ubuntu@ubuntu:~/airboard$ python3 test.py 

 ----- Initializing Workspace -----
Working dir: "./cache/recording_2024-02-27_171136_Trim"
mkdir: "./cache/recording_2024-02-27_171136_Trim"
mkdir: "./cache/recording_2024-02-27_171136_Trim/captured"
mkdir: "./cache/recording_2024-02-27_171136_Trim/cropped"
mkdir: "./cache/recording_2024-02-27_171136_Trim/final_result"
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 7843.49it/s]

 ----- Capturing Frames -----
Skipped

 ----- Cropping Images -----
Skipped

 ----- Find Critical Indices -----
Traceback (most recent call last):
  File "/home/ubuntu/airboard/test.py", line 3, in <module>
    main("./mp4_videos/recording_2024-02-27_171136_Trim.mp4", skip_steps=["capture_frames", "crop_img"])
  File "/home/ubuntu/airboard/main.py", line 73, in main
    critical_indices, critical_ranges = find_critical_indices(cropped_path)
  File "/home/ubuntu/airboard/utils/find_critical_indices.py", line 20, in find_critical_indices
    base_img = cv2.imread(file_paths[-1])
IndexError: list index out of range
(venv) ubuntu@ubuntu:~/airboard$

我的test.py:

from main import main

main("./mp4_videos/recording_2024-02-27_171136_Trim.mp4", skip_steps=["capture_frames", "crop_img"])

想問一下這是什麼問題
感謝

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.