学习目标:
我们的目标是通过特征识别物体,例如道路上的卡车。
特征可以是形状,边缘,长度等任何形式,也可以是所有特征的组合。学习步骤:
一、读取图片以及相关计算包
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)
我们从文件中读取图像。我们将在此图像中找到卡车
图像高度和宽度
二、图像转换为灰度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 OpneCVresult = 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图像检测定位 https://www.yhzz.com.cn/a/10026.html