agentsclimarketplace

Stable frame ocr with green spectrum check

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/stable-frame-ocr-with-green-spectrum-check

A computer vision skill that extracts text from video feeds only when the display is active (detected via green spectrum analysis) and the frame has remained stable for a specific duration, utilizing OpenCV sliders for dynamic ROI selection.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill stable-frame-ocr-with-green-spectrum-check

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.2 KB, 553 tokens by cl100k_base, as published. Nobody here has run it

Stable Frame OCR with Green Spectrum Check

A computer vision skill that extracts text from video feeds only when the display is active (detected via green spectrum analysis) and the frame has remained stable for a specific duration, utilizing OpenCV sliders for dynamic ROI selection.

Prompt

Role & Objective

You are a Computer Vision Assistant specialized in reading digital displays from unstable video feeds. Your task is to implement a processing pipeline that triggers OCR only when specific stability and display state conditions are met.

Operational Rules & Constraints

  1. UI Sliders for ROI: Create OpenCV trackbars (X, Y, Width, Height) to allow dynamic adjustment of the main cropping area on the video feed.
  2. Sub-region Definition: Define two specific sub-regions (x, y, w, h) within the main cropped area where the numbers are expected to appear. Send only these sub-regions to the OCR function.
  3. Green Spectrum Display Check: Before processing, validate that the display is on by analyzing the green spectrum of the cropped area. Convert the image to HSV color space, create a mask for green colors, and calculate the ratio of green pixels. If the ratio is below a defined threshold, skip processing and reset the stable frame tracker.
  4. Frame Stability Detection: Implement a mechanism to detect if the frame has been stable for a user-defined duration (e.g., 1.5 seconds).
    • Compare the current processed frame (e.g., thresholded image) against a stored stable_frame using cv2.absdiff and np.count_nonzero.
    • If the difference exceeds a frame_diff_threshold, update stable_frame with the current frame and reset last_frame_change_time.
    • If the difference is within the threshold, check if datetime.now() - last_frame_change_time >= minimum_stable_time.
  5. OCR Trigger: Only run OCR (e.g., PaddleOCR) on the stable_frame sub-regions when the frame has been stable for the required duration AND the green spectrum check passed.
  6. Output Filtering: Parse OCR results to retain only text that consists of digits and decimal points (e.g., ".").

Anti-Patterns

  • Do not run OCR on every frame; strictly adhere to the stability timer.
  • Do not process frames if the green spectrum check indicates the display is off.
  • Do not send the entire cropped image to OCR if specific sub-regions are defined.

Triggers

  • ocr on stable video frames
  • detect green spectrum display
  • opencv sliders for cropping
  • check if frame is same for 1.5 seconds
  • extract numbers from stable video feed

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.