一、树莓派遇到相关问题
之前配置好网络的树莓派连接了热点获取IP地址之后即使在VNC输入IP地址也会显示连接超时。询问客服后发现原来必须电脑也连接手机热点,即VNC和树莓派必须在同一局域网下使用才能连接。将电脑连接上手机热点后问题解决
二、学习OpenCV相关知识:简单函数的使用
1、cv2.imread(param1,param2)
用来读入图像。这幅图像应该在此程序的工作路径下,或者直接复制路径粘上去。
param1:图片名称包括路径,同一工作路径的话就只有名称就好
param2:告诉函数如何读取这张图片,>0返回一张彩色图,alpha通道会被忽略;=0返回灰度图;<0返回原图,带alpha通道。
2、cv2.imshow(param1,param2)
用来显示图像,窗口自动调整为图像大小
param1:窗口的名字
param2:图像
3、cv2.waitkey()
键盘绑定参数,他的时间尺度是毫秒级,时间尺度内按下键盘该函数会返回按键的ASCII码值,如果没有键盘输入返回值为-1。一般会使用cv2.WaitKey()&0xFF,具体原因我查阅了一篇文章Opencv 中 waitkey()& 0xFF,“0xFF”的作用解释_cv2.waitkey(30) & 0xff-CSDN博客
该文章讲解的比较细致。
param:单位是毫秒,如果参数是0,那他会无限期等待键盘输入。
4、cv.destroyAllWindows()
删除建立的窗口。如果你想删除特定的窗口,则在括号里输入窗口名。
5、cv.imwrite(param1,param2)
param1:想要保存的文件名
param2:想要保存的图像
三、摄像头的测试
1.cv2.VideoCapture()
创建一个VideoCapture的对象
param:特定的索引号(指定要是用的摄像头,一般单独连接USB摄像头参数都是0)。或者是一个视频文件。
2.cap.read()
返回一个布尔值(true或者false),如果帧读取是正确的那就是true,可以通过检查他的返回值来检查视频文件是否到了末尾。
3.cap.get(param)
获得视频的一些参数信息。
CV_CAP_PROP_POS_MSEC | 视频文件的当前位置,以毫秒为单位 |
CV_CAP_PROP_POS_FRAMES | 接下来要解码/捕获的帧的基于0的索引 |
CV_CAP_PROP_POS_AVI_RATIO | 视频文件的相对位置:0 -影片开始,1 -影片结束。 |
CV_CAP_PROP_FRAME_WIDTH | 视频中帧的宽度 |
CV_CAP_PROP_FRAME_HEIGHT | 视频流中帧的高度 |
CV_CAP_PROP_FPS | 帧率 |
CV_CAP_PROP_FOURCC | 编解码器的4个字符编码 |
CV_CAP_PROP_FRAME_COUNT | 视频文件中的帧数 |
CV_CAP_PROP_FORMAT | 检索()返回的Mat对象的格式 |
CV_CAP_PROP_MODE | 特定于后端,指示当前捕获模式的值 |
CV_CAP_PROP_BRIGHTNESS | 图像亮度(仅适用于相机) |
CV_CAP_PROP_CONTRAST | 图像对比度(仅适用于相机) |
CV_CAP_PROP_SATURATION | 图像饱和度(仅适用于相机) |
CV_CAP_PROP_HUE | 图像的色调(仅适用于相机) |
CV_CAP_PROP_GAIN | 图像增益(仅适用于摄像机)。 |
CV_CAP_PROP_EXPOSURE | 曝光(仅适用于相机) |
CV_CAP_PROP_CONVERT_RGB | 指示图像是否应转换为RGB的布尔标志。 |
CV_CAP_PROP_WHITE_BALANCE | 目前不支持的 |
CV_CAP_PROP_RECTIFICATION | 立体相机整流标志(注:仅支持DC1394 v2)。X后台(目前) |
4.cv2.flip(param1,param2)
图像翻转函数
param1:src要操作的图像
param2:1水平翻转,0垂直翻转,-1水平垂直翻转