图像识别基本窗口操作API

图像识别基本API总结

窗口调整

图片类

namedWindow() 创建命名窗口
cv2.namedWindow(‘new’, cv2.WINDOW_AUTOSIZE) 创建的窗口不可调整
cv2.WINDOW_NORMAL 常用,表示可以任意调整窗口大小
- imshow() 显示窗口
cv2.imshow(‘new’, 0) 但通常最常用的cv2.imshow(‘new’, new)前面是名字,后面是要显示的窗口变量
- destroyAllwindws() 摧毁窗口
cv2.destroyAllWindows()
- resizeWindow() 改变窗口大小
cv2.resizeWindow(‘img’, 320, 240)后面两个数据表示调整的窗口大小
- waitKey() 等待用户输入
key = cv2.waitKey(0) 用一个变量接受 例如if key == ord(‘q’):
加载显示图片
img = cv2.imread(‘./cat.jpeg’)
保存图片
cv2.imwrite(“./123.png”, img)

视频类

#打开视频文件
vc = cv2.VideoCapture(‘./1.mp4’)
#打开摄像头
vc = cv2.VideoCapture(0)
检查是否正确打开
if vc.isOpened():# 读取视频的一帧.
open, frame = vc.read() #ret的值为True或者Flase(是否读入), frame表示读入的图片
释放空间(视频必加)
cap.release() (后面,跟着cv2.destroyAllWindows()完整的结束一个窗口)
视频录制
cap = cv2.VideoCapture(0) # mp4v就是解包操作 等同于 ‘m’, ‘p’, ‘4’, ‘v’
fourcc = cv2.VideoWriter_fourcc(
‘mp4v’) #(640, 480)表示摄像头拍视频, 这个大小搞错了也不行. 主要是这个分辨率.
VideoWriter : 参数一为输出文件, 参数二为多媒体文件格式(VideoWriter_fourcc, 参数三为帧率, 参数四为分辨率.
视频存入缓存
vw.write(frame) # write 编码并写入缓存

控制鼠标

记录鼠标行为**
cv2.setMouseCallback(‘mouse’, mouse_callback, ‘123’) #setMouseCallback(winname, callback, userdata) winname是窗口的名字, callback是回调函数, userdata是给回调函数的参数.
(回调参数def mouse_callback(event, x, y, flags, userdata):
print(event, x, y, flags, userdata))
回调函数callback(event, x, y, flags, userdata)回调函数必须包含这5个参数. event是事件(鼠标移动, 左键, 右键等), x,y是点鼠标的坐标点, flags主要用于组合键, userdata就是上面的setMouseCallback的userdata

TrackBar控件

def callback(value):
print(value)
cv2.createTrackbar(‘R’, ‘trackbar’, 0, 255, callback)

  • createTrackbar(trackbarname, winname, value, count, onChange) 创建TrackBar控件, value为trackbar的默认值, count为bar的最大值, 最小为0
  • r = cv2.getTrackbarPos(‘R’, ‘trackbar’)
  • getTrackbarPos(trackbarname, winname) 获取TrackBar当前值
  • #改变背景图颜色
    img[:] = [b, g, r]

颜色空间

色彩空间的转换

  • cvtColor(img, colorspace): 颜色转换的关键API
    cv2.COLOR_BGR2RGBA, cv2.COLOR_BGR2BGRA, cv2.COLOR_BGR2GRAY(黑白两色的灰度处理), cv2.COLOR_BGR2HSV, cv2.COLOR_BGR2YUV

绘制图形

直线
line(img, pt1, pt2, color, thickness, lineType, shift) 画直线
矩形
rectangle() 参数同上

circle(img, center, radius, color[, thickness[, lineType[, shift]]]) 中括号内参数表示可选参数.
椭圆
ellipse(img, 中心点, 长宽的一半, 角度, 从哪个角度开始, 从哪个角度结束,…)
多边形
polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]]) 画多边形
fillPoly 填充多边形
文本
putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]]) 绘制文本

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值