Python对应Opencv的重要常用函数
1. cv2.rectangle()函数
image:它是要在其上绘制矩形的图像。
start_point:它是矩形的起始坐标。坐标表示为两个值的元组,即(X1坐标值,Y1坐标值)。
end_point:它是矩形的结束坐标。坐标表示为两个值的元组,即(X2坐标值,Y2坐标值)。
color:它是要绘制的矩形的边界线的颜色。对于BGR,我们通过一个元组。例如:(0,255,0)为绿色。
thickness:它是矩形边框线的粗细像素。厚度-1像素将以指定的颜色填充矩形形状。
返回值:它返回一个图像。
cv2.rectangle(frame, (startX, startY), (endX, endY),(0, 255, 0), 2)
cv2.rectangle()函数官方文档
Python OpenCV cv2.rectangle()用法及代码示例
2. cv2.dnn.blobFromImage()
参数:
image:输入图像(1、3或者4通道)
scalefactor:图像各通道数值的缩放比例
size:输出图像的空间尺寸
mean:用于各通道减去的值,以降低光照的影响
swapRB:交换RB通道,默认为False
crop:图像裁剪,默认为False.当值为True时,先按比例缩放,然后从中心裁剪成size尺寸
ddepth:输出的图像深度,可选CV_32F 或者 CV_8U.
blob = cv2.dnn.blobFromImage(frame, 0.007843, (w, h), 127.5)
cv2.dnn.blobFromImage()官方链接
cv2.dnn.blobFromImage()函数用法
3. multiprocessing.Queue() 多进程通信
Queue用来在多个进程间实现通信且是多进程安全的队列,可以使用Queue实现多进程之间的数据传递,有两个方法:Put和Get可以进行Queue操作。
Python 学习笔记 多进程 multiprocessing
python多进程multiprocessing模块中Queue的妙用
multiprocessing.Queue()和queue.Queue()的区别
4. t = dlib.correlation_tracker()
使用 dlib.correlation_tracker 实现目标跟踪基本分以下四步:
dlib.correlation_tracker() 创建一个跟踪类;
start_track() 中设置图片中的要跟踪物体的框;
update() 实时跟踪下一帧;
get_position() 得到跟踪到的目标的位置。
def start_tracker(box, label, rgb, inputQueue, outputQueue):
t = dlib.correlation_tracker()
rect = dlib.rectangle(int(box[0]), int(box[1]), int(box[2]), int(box[3]))
t.start_track(rgb, rect)
while True:
# 获取下一帧
rgb = inputQueue.get()
# 非空就开始处理
if rgb is not None:
# 更新追踪器
t.update(rgb)
pos = t.get_position()
startX = int(pos.left())
startY = int(pos.top())
endX = int(pos.right())
endY = int(pos.bottom())
# 把结果放到输出q
outputQueue.put((label, (startX, startY, endX, endY)))
dlib 目标跟踪
python dlib学习(四):单目标跟踪
t = dlib.correlation_tracker()官方文档