OpenCV常用基本处理函数(3)

颜色空间转换

对图像进行颜色空间转换,比如从 BGR 到灰度图,或者从BGR 到 HSV 等

我们要用到的函数是:cv2.cvtColor(input_image ,flag),其中 flag就是转换类型,常用的就几种转换的类型;

对于 BGR↔Gray 的转换,我们要使用的 flag 就是 cv2.COLOR_BGR2GRAY。
同样对于 BGR↔HSV 的转换,我们用的 flag 就是 cv2.COLOR_BGR2HSV。

物体跟踪

通过某个颜色来跟踪一个物体,

• 从视频中获取每一帧图像
  • 将图像转换到 HSV 空间
  • 设置 HSV 阈值到蓝色范围。
  • 获取蓝色物体

 1 import cv2
 2 import numpy as np
 3 
 4 cap = cv2.VideoCapture(r'你的视频文件')
 5 
 6 while(1):
 7 
 8     # Take each frame
 9     _, frame = cap.read()
10 
11     # Convert BGR to HSV
12     hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
13 
14     # define range of blue color in HSV
15     lower_blue = np.array([110,50,50])
16     upper_blue = np.array([130,255,255])
17 
18     # Threshold the HSV image to get only blue colors
19     mask = cv2.inRange(hsv, lower_blue, upper_blue)
20 
21     # Bitwise-AND mask and original image
22     res = cv2.bitwise_and(frame,frame, mask= mask)
23 
24     cv2.imshow('frame',frame)
25     cv2.imshow('mask',mask)
26     cv2.imshow('res',res)
27     k = cv2.waitKey(5) & 0xFF
28     if k == 27:
29         break
30 
31 cv2.destroyAllWindows()

利用掩膜(mask)进行“与”操作,即掩膜图像白色区域是对需要处理图像像素的保留

 

上一篇:Json反序列死循环,反射SetValue()类型Nullable填坑


下一篇:SparkSQL-Rdd转化DataFrame-通过StructType为字段添加Schema