--- title: 【軟體】【物件偵測】Collect 階段 tags: TTennis Pickup Robot disqus: hackmd --- <h1 style="text-align: center; color: orange;"> 🛠️ 【軟體】影像處理 🛠️ </h1> <h2 style="text-align: center; color: skyblue;">【物件偵測】Collect 階段 </h2> <h3><font color="magenza"> 1. 自己生素材 </font></h3> 如果要辨識的東西比較特別,就得自己生素材了。 通常我會用 opencv 庫簡單寫個 `.py`,按 space 就儲存串流快照。 :::spoiler OAK-D ```py= import cv2 import depthai as dai import os # 建立Pipeline pipeline = dai.Pipeline() # 創建彩色相機節點 camRgb = pipeline.create(dai.node.ColorCamera) camRgb.setBoardSocket(dai.CameraBoardSocket.RGB) camRgb.setResolution(dai.ColorCameraProperties.SensorResolution.THE_1080_P) # 設置相機輸出 xoutVideo = pipeline.create(dai.node.XLinkOut) xoutVideo.setStreamName("video") camRgb.video.link(xoutVideo.input) # 初始化裝置並啟動Pipeline with dai.Device(pipeline) as device: videoQueue = device.getOutputQueue(name="video", maxSize=4, blocking=False) frame_count = 1 while True: videoFrame = videoQueue.get() # 獲取當前幀 frame = videoFrame.getCvFrame() # 轉換為OpenCV格式 # 顯示畫面 cv2.imshow("OAK-D Camera", frame) key = cv2.waitKey(1) & 0xFF if key == ord('q'): # 按下 'q' 退出 break elif key == ord(' '): # 按下空白鍵拍照 filename = f"{frame_count}.png" cv2.imwrite(filename, frame) print(f"Saved {filename}") frame_count += 1 # 釋放資源 cv2.destroyAllWindows() ``` :::  完成後,就把所有照片上傳到 Roboflow Project 上,之後就是 Annotate 了。 <center> :::warning 注意每個物件各至少要有 50 次標記,最好是 100 次以上。 ::: </center> </br> --- <h3><font color="magenza"> 2. 從 Roboflow Universe 抓素材 </font></h3> [Roboflow Universe](https://universe.roboflow.com/) 上有大量的素材,可省略 Collect & Annotate 階段。 下載下來的檔案包含基本描述檔和訓練集、驗證集和測試集。 可以放到自己的 Roboflow Project 或是直接在本地 training 等等。  </br> </br> </br> </br> </br>
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up