偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

殺瘋了,這個(gè) AI+Python 智能體救了看門(mén)老大爺!

人工智能
AiPy? 本質(zhì)上就是把大模型的語(yǔ)言理解能力和Python?的編程能力結(jié)合起來(lái),通過(guò)生成、調(diào)試、執(zhí)行Python?代碼,把任務(wù)跑通。

最近AiPy很火,我用了有一段時(shí)間了,感覺(jué)嚴(yán)重影響睡眠,感覺(jué)這東西容易上癮,今天推薦給大家。

AiPy它是基于AI+Python,官方的說(shuō)法是他們給大模型裝上了手腳,也就是說(shuō),用大白話就能自動(dòng)操作電腦、控制手機(jī)、甚至連家里的智能燈泡也能控制,聽(tīng)起來(lái)有點(diǎn)逆天。然后AiPy是個(gè)開(kāi)源項(xiàng)目,有命令行版和客戶(hù)端。

「開(kāi)源地址」:https://github.com/knownsec/aipyapp

而今天,我來(lái)給大家分享一個(gè)我最近剛剛用AiPy跑過(guò)的案例。起因是,朋友是某個(gè)公司保安,平時(shí)經(jīng)常有人來(lái)找他查公司監(jiān)控,東西丟了要查監(jiān)控,考勤遲到早退也要查,但是視頻又很長(zhǎng),每次翻來(lái)翻去,很費(fèi)時(shí),簡(jiǎn)直煩死了,于是找我?guī)兔?,然后我就要?lái)視頻,用AiPy來(lái)嘗試幫他提高效率。

下面,我來(lái)分享一下思路、代碼和實(shí)踐經(jīng)驗(yàn),希望能幫到有需要的朋友們,有同樣場(chǎng)景的可以拿去直接用。

一、工具和提示詞準(zhǔn)備

1. 下載安裝

在AiPy官網(wǎng)(https://www.aipyaipy.com/)免費(fèi)下載,為了方便大家快速上手,我用客戶(hù)端版,支持 Windows 和 macOS,喜歡命令行的朋友也可以選 CLI版本,用

pip install aipyapp

安裝,下載好后,界面長(zhǎng)這樣:

2. 寫(xiě)提示詞

根據(jù)官方介紹,AiPy是一個(gè)融合了LLM能力與Python程序和生態(tài)的智能體,我只需要把需求講清楚告訴 AiPy 就行。

根據(jù)自己的需求,我寫(xiě)出提示詞如下:

當(dāng)前目錄有一個(gè)daka文件夾,需要你幫忙寫(xiě)一個(gè)腳本名稱(chēng)為daka.py,可以識(shí)別daka文件夾內(nèi)部的視頻,每當(dāng)有人經(jīng)過(guò)的時(shí)候就能截圖保存到dakajietu文件夾中,識(shí)別過(guò)程要避免重復(fù)。

二、AiPy自動(dòng)拆解任務(wù)與編寫(xiě)代碼

AiPy自動(dòng)把任務(wù)拆成幾步:

  • 步驟1:檢查并創(chuàng)建必要的文件夾結(jié)構(gòu)
  • 步驟2:遍歷daka文件夾獲取視頻文件列表
  • 步驟3:初始化人體檢測(cè)器
  • 步驟4:處理每個(gè)視頻文件,檢測(cè)人體并截圖
  • 步驟5:實(shí)現(xiàn)截圖間隔控制

制定完成計(jì)劃后,AiPy就開(kāi)始編寫(xiě)代碼了,部分代碼展示如下:

import os
import cv2
import time
from datetime import datetime

# 支持的視頻格式
SUPPORTED_VIDEO_FORMATS = ('.mp4', '.avi', '.mov', '.mkv', '.flv', '.wmv')


def init_folders():
    # 確保daka文件夾存在
    ifnot os.path.exists('daka'):
        os.makedirs('daka')
        print("已創(chuàng)建daka文件夾,請(qǐng)將視頻文件放入其中")
    
    # 確保截圖文件夾存在
    ifnot os.path.exists('dakajietu'):
        os.makedirs('dakajietu')
        print("已創(chuàng)建dakajietu文件夾用于保存截圖")


def get_video_files():
    """獲取daka文件夾中的所有視頻文件"""
    video_files = []
    for file in os.listdir('daka'):
        if file.lower().endswith(SUPPORTED_VIDEO_FORMATS):
            video_files.append(os.path.join('daka', file))
    return video_files


def process_video(video_path, last_capture_time):
    """處理單個(gè)視頻文件,檢測(cè)人體并截圖"""
    # 初始化人體檢測(cè)器
    hog = cv2.HOGDescriptor()
    hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
    
    cap = cv2.VideoCapture(video_path)
    ifnot cap.isOpened():
        print(f"無(wú)法打開(kāi)視頻文件: {video_path}")
        return last_capture_time
    
    print(f"開(kāi)始處理視頻: {os.path.basename(video_path)}")
    
    while cap.isOpened():
        ret, frame = cap.read()
        ifnot ret:
            break
        
        # 調(diào)整幀大小以提高處理速度
        frame = cv2.resize(frame, (640, 360))
        
        # 檢測(cè)人體
        boxes, _ = hog.detectMultiScale(frame, winStride=(4, 4), padding=(8, 8), scale=1.05)
        
        # 如果檢測(cè)到人體且滿足時(shí)間間隔
        current_time = time.time()
        if len(boxes) > 0and (current_time - last_capture_time) >= 5:
            # 保存截圖
            timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
            filename = f"dakajietu/{timestamp}.jpg"
            cv2.imwrite(filename, frame)
            print(f"檢測(cè)到人體,已保存截圖: {filename}")
            last_capture_time = current_time
        
        # 按q鍵可提前退出
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    cap.release()
    return last_capture_time


def main():
    init_folders()
    video_files = get_video_files()
    
    ifnot video_files:
        print("daka文件夾中沒(méi)有找到視頻文件,請(qǐng)?zhí)砑右曨l文件后再運(yùn)行")
        return
    
    print(f"找到 {len(video_files)} 個(gè)視頻文件:")
    for video in video_files:
        print(f"- {os.path.basename(video)}")
    
    # 初始化最后截圖時(shí)間
    last_capture_time = 0
    
    # 處理每個(gè)視頻文件
    for video_file in video_files:
        last_capture_time = process_video(video_file, last_capture_time)


if __name__ == "__main__":
    main()

三、自動(dòng)優(yōu)化及修復(fù)

跑第一次時(shí),因?yàn)榄h(huán)境不支持GUI操作,所以進(jìn)行到步驟4的時(shí)候出現(xiàn)bug。

基于錯(cuò)誤反饋,AiPy自動(dòng)移除了對(duì)cv2.waitKey()的依賴(lài),同時(shí)還優(yōu)化了代碼結(jié)構(gòu),提高檢測(cè)準(zhǔn)確性并添加更多錯(cuò)誤處理。

主要改進(jìn)點(diǎn):

  • 移除了cv2.waitKey()調(diào)用,解決了GUI錯(cuò)誤
  • 添加了異常處理,提高程序健壯性
  • 優(yōu)化了人體檢測(cè)參數(shù),平衡性能與準(zhǔn)確性
  • 添加了幀跳過(guò)機(jī)制,提高處理速度
  • 增加了更詳細(xì)的處理日志

四、最終版本

實(shí)際效果完全超出預(yù)期!我在提示詞里提到的功能全都穩(wěn)穩(wěn)實(shí)現(xiàn),連那些沒(méi)細(xì)講的部分,AiPy都能靠智能算法自動(dòng)優(yōu)化配置,像搭積木一樣把功能模塊完美拼在一起!

五、效果展示

下面是首次運(yùn)行提取的視頻人物截圖。

六、一勞永逸的可反復(fù)執(zhí)行腳本

1. 確定腳本的保存路徑

如果沒(méi)有特別指定,所以生成的文件都是保存在AiPy的工作目錄,比如:C:\Users\Administrator\.aipyapp\work

2. 再次執(zhí)行

我先把文件內(nèi)的視頻換成所需要識(shí)別的其他視頻。

然后在終端打開(kāi)工作文件夾,點(diǎn)擊python daka.py運(yùn)行即可。

依靠AiPy編寫(xiě)的腳本,我成功搞定了監(jiān)控視頻的自動(dòng)監(jiān)察功能,讓查找關(guān)鍵畫(huà)面變得輕松又高效。

七、解鎖更多使用體驗(yàn)

最近,我也看了不少AiPy官方和網(wǎng)友分享的案例,發(fā)現(xiàn)只要是能用Python自動(dòng)調(diào)度完成的任務(wù),基本都能交給AiPy搞定。

其實(shí)原理也很簡(jiǎn)單:AiPy 本質(zhì)上就是把大模型的語(yǔ)言理解能力和Python的編程能力結(jié)合起來(lái),通過(guò)生成、調(diào)試、執(zhí)行Python代碼,把任務(wù)跑通。借助Python強(qiáng)大的生態(tài),AiPy能高效搞定本地文件處理、應(yīng)用控制、數(shù)據(jù)分析、物聯(lián)網(wǎng)聯(lián)動(dòng)等多種任務(wù)。


責(zé)任編輯:趙寧寧 來(lái)源: 程序員老朱
相關(guān)推薦

2019-01-18 20:36:40

Python佩奇turtle

2020-05-08 08:50:26

Java垃圾JVM

2023-01-13 08:18:37

延遲雙刪策略

2025-06-13 11:25:04

大模型LLMAI 技術(shù)

2023-08-01 07:45:52

2023-03-02 14:00:03

AI繪畫(huà)

2024-07-23 14:10:48

2025-08-08 02:15:00

2023-03-07 13:30:44

AI

2024-11-26 00:14:08

2025-05-15 08:35:00

2020-04-16 14:19:33

深度學(xué)習(xí)三體人工智能

2025-10-09 11:36:57

2025-03-03 13:35:28

2010-05-12 10:29:48

2024-11-18 19:06:21

2023-01-18 16:02:41

ChatGPT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)