Python目標檢測方法可以被用于自動化監控、跟蹤和分類。該技術被廣泛應用于視頻監控、自駕車和無人機等領域。以下是一些Python目標檢測方法:
# 導入必要的庫 import cv2 import numpy as np # 加載圖片 img = cv2.imread('example.jpg') # 定義分類器 classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 將圖片轉換為灰度圖像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 進行目標檢測 faces = classifier.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5) # 繪制檢測出的目標 for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2) # 展示圖片 cv2.imshow('img',img) cv2.waitKey()
上面的代碼使用OpenCV庫中的級聯分類器進行人臉檢測。它將輸入圖片轉換成灰度圖像,并應用分類器檢測人臉。如果檢測到了人臉,就會在原圖上繪制一個矩形框。
還有一種常用的目標檢測技術是基于卷積神經網絡(CNN)的方法。以下是使用Keras庫進行目標檢測的代碼:
# 導入必要的庫 import keras from keras.applications import VGG16 from keras.preprocessing import image from keras.applications.vgg16 import preprocess_input, decode_predictions from keras.models import Model import numpy as np # 加載預訓練模型 model = VGG16(weights='imagenet') # 加載圖片并進行預處理 img_path = 'example.jpg' img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) # 進行目標檢測 preds = model.predict(x) pred_classes = decode_predictions(preds, top=3)[0] # 輸出預測結果 print('Predicted class:') for i in range(len(pred_classes)): print(pred_classes[i][1])
上面的代碼使用了預訓練的VGG16模型進行圖像分類。輸入的圖片首先被預處理,然后送入模型進行預測。最后輸出預測結果。
上一篇java讀入整數和字符串
下一篇java賬號密碼如和限制