使用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)
学习总结
目标检测是图像处理的重要组成部分。一些场景中可以不是用复杂算法就能实现,多尝试不同的方法,才能提高整体项目的效率。
- 分享
- 举报

-
浏览量:8396次2020-12-13 17:04:33
-
浏览量:708次2023-09-11 18:04:33
-
浏览量:559次2023-12-20 17:20:29
-
浏览量:1616次2023-02-14 14:48:11
-
浏览量:1526次2023-08-29 15:52:13
-
浏览量:1634次2020-08-29 19:46:28
-
浏览量:2151次2023-02-14 20:27:20
-
浏览量:8308次2020-12-13 17:30:07
-
浏览量:9574次2020-12-12 15:24:59
-
浏览量:1220次2023-06-02 17:42:09
-
浏览量:840次2024-03-05 16:55:32
-
浏览量:1911次2020-03-19 09:04:57
-
浏览量:1268次2024-03-01 16:56:38
-
浏览量:470次2023-12-05 17:39:39
-
浏览量:5747次2020-12-21 16:50:21
-
浏览量:5640次2021-04-06 17:40:39
-
浏览量:876次2023-06-03 16:08:07
-
浏览量:1112次2023-07-17 13:57:30
-
浏览量:712次2023-12-14 16:51:13
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖

张大哥






举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明