使用OpenCV进行对象检测
学习目标:
我们的目标是通过特征识别物体,例如道路上的卡车。
特征可以是形状,边缘,长度等任何形式,也可以是所有特征的组合。
学习步骤:
一、读取图片以及相关计算包
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 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)
学习总结
目标检测是图像处理的重要组成部分。一些场景中可以不是用复杂算法就能实现,多尝试不同的方法,才能提高整体项目的效率。
- 分享
- 举报
-
浏览量:7920次2020-12-13 17:04:33
-
浏览量:244次2023-09-11 18:04:33
-
浏览量:1102次2023-02-14 14:48:11
-
浏览量:163次2023-12-20 17:20:29
-
浏览量:496次2023-08-29 15:52:13
-
浏览量:1267次2020-08-29 19:46:28
-
浏览量:1456次2023-02-14 20:27:20
-
浏览量:8894次2020-12-12 15:24:59
-
浏览量:787次2023-06-02 17:42:09
-
浏览量:51次2024-03-05 16:55:32
-
浏览量:7827次2020-12-13 17:30:07
-
浏览量:100次2024-03-01 16:56:38
-
浏览量:1578次2020-03-19 09:04:57
-
浏览量:105次2023-12-05 17:39:39
-
浏览量:635次2023-07-17 13:57:30
-
浏览量:189次2023-12-14 16:51:13
-
浏览量:6059次2021-01-23 17:41:13
-
浏览量:281次2023-06-03 16:08:07
-
浏览量:5113次2021-02-18 16:03:22
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
张大哥
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明