在ROS机器人的应用开发中,调用摄像头进行机器视觉处理是比较常见的方法,现在把利用opencv和python语言实现摄像头调用并转换成HSV模型的方法分享出来,希望能对学习ROS机器人的新手们一点帮助。至于为什么转换成HSV模型,因为在机器视觉方面用HSV模型进行图像处理是比较方便的,实现的方法和效果相对于其他模型都较为突出。
接下来是完整步骤:
1、打开一个终端,用vim编辑器新建并打开一个后缀为.py的文件
$ vim a.py
2.在打开的文件里按“a”进入编辑模式,然后输入以下代码
import cv2
import numpy as np
cap=cv2.VideoCapture(0) #打开默认摄像头
while(1):
ret,frame = cap.read() #读取实时图像
cv2.imshow("capture",frame) #显示读取出来的图像
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) #把RGB模型转换成HSV模型
cv2.imshow("HSV",hsv) #显示转换后的图像
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destoryAllwindows()
然后按“ESC”键退出编辑模式,按shift+;键会在底下显示一个冒号,输入wq保存并退出,回到终端
3、用python执行这个程序
$ python a.py
接下来就能看见调用出来的图像了。按q就退出执行了。
注意:执行程序时要注意程序的路径,要么在程序所在位置打开终端,要么在执行程序时写清楚程序所在路径,例如 python /home/zjx/a.py