Python的目標框選區技術是計算機視覺領域中的一項重要技術。它可以通過對圖像進行處理和分析,將圖像中的目標物體框選出來,從而實現對圖像的分類、檢測、跟蹤等應用。
import cv2 # 加載圖片 img = cv2.imread('test.jpg') # 創建窗口并顯示原圖片 cv2.namedWindow('Image') cv2.imshow('Image', img) # 設置鼠標事件回調函數 def on_mouse(event, x, y, flags, param): global box, drawing if event == cv2.EVENT_LBUTTONDOWN: drawing = True box = [x, y, x, y] elif event == cv2.EVENT_MOUSEMOVE: if drawing: box[2] = x box[3] = y elif event == cv2.EVENT_LBUTTONUP: drawing = False box[2] = x box[3] = y cv2.rectangle(img, (box[0], box[1]), (box[2], box[3]), (0, 0, 255), 2) cv2.imshow('Image', img) roi = img[box[1]:box[3], box[0]:box[2]] cv2.imshow('ROI', roi) # 注冊鼠標事件回調函數 cv2.setMouseCallback('Image', on_mouse) cv2.waitKey() cv2.destroyAllWindows()
上述代碼使用OpenCV庫實現了對一張圖片的目標框選區,具體實現方式為:
- 加載圖片并創建窗口。
- 設置鼠標回調函數,當鼠標在圖片上按下、移動、抬起時,分別記錄鼠標的坐標值,將所選的區域畫出來并顯示在窗口中。
- 根據所選區域的坐標值,從原圖片中截取該部分的ROI(感興趣區域)并顯示在新窗口中。
通過這種方式,我們可以輕松地實現目標框選區的功能,為后續的圖像處理提供了更為準確的數據基礎。