开源挑战:用旧手机造机器人眼睛

用报废手机给机器人装上"眼睛"!

📌 材料:闲置安卓机×1 + 电脑×1

💡 原理:手机变网络摄像头 + OpenCV颜色追踪

🌱 环保价值:让电子垃圾重获新生,减少0.5kg碳排放

附录:robot_eye.py 完整代码(直接复制使用)

python 复制代码
#!/usr/bin/env python3
"""
🤖 机器人之眼 | 开源再造计划
✨ 用旧手机+OpenCV实现视觉追踪
🌍 环保提示:本项目让电子垃圾重获新生,减少碳排放
🔗 代码开源协议:MIT License
"""
import cv2
import numpy as np
import sys

def main(stream_url):
    cap = cv2.VideoCapture(stream_url)
    if not cap.isOpened():
        print("❌ 无法连接手机摄像头!请检查:")
        print("1. 手机与电脑是否在同一Wi-Fi")
        print("2. IP Webcam是否已启动")
        return
    
    cv2.namedWindow('🤖 机器人之眼 | 开源再造计划', cv2.WINDOW_NORMAL)
    print("✅ 启动成功!将红色物体移至镜头前...")
    
    while True:
        ret, frame = cap.read()
        if not ret:
            break
        
        # 转HSV空间检测红色(含两种红色范围)
        hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
        lower_red1 = np.array([0, 100, 100])
        upper_red1 = np.array([10, 255, 255])
        lower_red2 = np.array([160, 100, 100])
        upper_red2 = np.array([180, 255, 255])
        mask = cv2.inRange(hsv, lower_red1, upper_red1) + cv2.inRange(hsv, lower_red2, upper_red2)
        
        # 轮廓追踪
        contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
        if contours:
            largest = max(contours, key=cv2.contourArea)
            if cv2.contourArea(largest) > 500:
                x, y, w, h = cv2.boundingRect(largest)
                cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 3)
                cv2.putText(frame, "TARGET LOCKED!", (x, y-10), 
                           cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
        
        cv2.imshow('🤖 机器人之眼 | 开源再造计划', frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    cap.release()
    cv2.destroyAllWindows()

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("用法: python3 robot_eye.py <手机视频流URL>")
        print("示例: python3 robot_eye.py http://192.168.1.100:8080/video")
        sys.exit(1)
    main(sys.argv[1])

#开源新春集福 #地瓜机器人 #OpenLoong开源社区 #AtomGit

相关推荐
GitCode官方4 天前
活动预告 | 模力无限 × AtomGit珠海首场 AI Meetup,来了
人工智能·atomgit
OpenLoong 开源社区10 天前
打破 NAT 限制,零侵入跨网络通信:基于 WebRTC 的透明 TCP 隧道跨网络通信方案
网络协议·tcp/ip·开源·webrtc·openloong开源社区
GitCode官方10 天前
从大语言模型到具身智能:百度百舸 LoongForge 入驻 AtomGit
人工智能·react native·百度·harmonyos·atomgit
GitCode官方17 天前
稀缺真机|AtomGit × 启元机器人具身智能原创内容征文活动
机器人·开源·具身智能·atomgit·启元
摘星编程18 天前
启元 Q1 模型微调实战:强化学习训练抗推平衡策略
机器人·实战·atomgit·启元·机器人训练
摘星编程19 天前
启元 T1 机器人 SDK 探秘:安装配置、六种变形动作与双机型共存实测
sdk·教程·四足机器人·atomgit·启元
GitCode官方19 天前
仓颉生态创新开发挑战赛决赛入围名单公示
人工智能·仓颉·atomgit
OpenLoong 开源社区19 天前
OpenLoong 亮相 ROSCon China 2026:共探机器人开源技术与人才共育
机器人·开源·openloong开源社区
GitCode官方20 天前
共筑昇腾算子开源生态|CANNBench Season1 沙龙收官,Season2 全新评测集发布
人工智能·ai·开源·cann·atomgit
GitCode官方20 天前
直播预告:华为云码道实战|Agentic DevOps 与昇腾 CANN 算子 AI 开发
人工智能·华为云·devops·atomgit