首页 > 技术知识 > 正文

学习目标:

我们的目标是通过特征识别物体,例如道路上的卡车。

特征可以是形状,边缘,长度等任何形式,也可以是所有特征的组合。

学习步骤:

一、读取图片以及相关计算包

import cv2

cv2.matchTemplate()

import numpy as np

import matplotlib.image as mpimg

from matplotlib import pyplot as plt

%matplotlib inline

image_color =cv2.imread(‘actual_truck.jpg’)

plt.imshow(image_color)

我们从文件中读取图像。我们将在此图像中找到卡车

使用OpenCV进行对象检测-opencv图像检测定位

图像高度和宽度

使用OpenCV进行对象检测-opencv图像检测定位1二、图像转换为灰度

image_gray = cv2.cvtColor(image_color,cv2.COLOR_BGR2GRAY)

plt.imshow(image_gray,cmap =’gray’)

三、创建模板图

import cv2

import numpy as np

import matplotlib.image as mpimg

from matplotlib import pyplot as plt

%matplotlib inline

image_color =cv2.imread(‘sample_truck.jpg’)

x= 235

y = 350

h = 200

w = 150

cropped=image_color[y:y+h, x:x+w]

plt.imshow(cropped)

status = cv2.imwrite(‘t.jpg’, cropped)

print(“Image written to file-system :”,status)

四、匹配模板

Perform template matching using OpneCV

result = cv2.matchTemplate(image_gray,template, cv2.TM_CCOEFF_NORMED)

print(result.shape)

plt.imshow(result)

五、定位卡车

min_val, max_val, min_loc, max_loc =cv2.minMaxLoc(result)

top_left = max_loc

bottom_right = (top_left[0] + w,top_left[1] + h)

cv2.rectangle(image_color, top_left,bottom_right, (10,10,255), 5)

plt.imshow(image_color)

使用OpenCV进行对象检测-opencv图像检测定位2

学习总结

目标检测是图像处理的重要组成部分。一些场景中可以不是用复杂算法就能实现,多尝试不同的方法,才能提高整体项目的效率。

猜你喜欢