Opencv第一弹

vscode是什么

halcon是什么

机器视觉 Halcon安装教程:halcon和opencv哪个好用 (baidu.com)

OpenCV偏科研,有难度,有深度,完全从底层开发,对使用者门槛高,开发效率低,开发慢;Halcon偏工程应用,使用封装好的功能函数,对使用者门槛低,开发效率高,开发快。

waitKey

cv2.waitKey(delay)

waitKey()的基本逻辑,他会在一定时间内等待接收键盘上的一个值(都是在展示imshow后面使用)

参数delay为等待键盘触发的时间,单位为毫秒,返回值为-1(表示没有按键按下)或ASCII码。
1、若参数delay≤0:表示一直等待按键;
2、若delay取正整数:表示等待按键的时间,比如cv2.waitKey(30),就是等待30毫秒(milliseconds);(视频中一帧数据显示(停留)的时间)。
cv2.waitKey(delay)返回值:
1、等待期间有按键:返回按键的ASCII码(比如:Esc的ASCII码为27,即0001  1011);(接收值为非空,if代码块执行);
2、等待期间没有按键:返回 -1;(非0非空,if代码块执行)。
原文链接:https://blog.csdn.net/weixin_54977011/article/details/120208280

ord()函数将字符转换为ASCII码;chr()将字符串转换为 ASCII码。

读取视频:

cv2.VideoCapture(0)
cv2.VideoCapture('test.mp4')

0为本机摄像头,括号内可放置视频路径。

截取部分图像数据roi:

roi = img[0:50, 0:200]

颜色通道提取、融合:

b, g, r = cv2.split(img)
img_ = cv2.merge((b, g, r)) 

只保留R通道:三通道图像(0,1,2),保留最后一个通道(索引为2),其他通道置为0.

img[:, :, 0] = 0
img[:, :, 1] = 0
cv2.imshow('R', img)

 边界填充

top_size, bottom_size, left_size, right_size = (50, 50, 50, 50)

replicate = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)
cv2.imshow('replicate', replicate)
# 复制法,复制最边缘像素

reflect = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REFLECT)
cv2.imshow('reflect', reflect)
# 反射法,hgfedcba|abcdefgh|hgfedcba

reflect101 = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT_101)
cv2.imshow(' reflect101',  reflect101)
# 反射法,以嘴边缘像素为轴,对称。hgfedcb|abcdefgh|gfedcba

wrap = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_WRAP)
cv2.imshow('wrap', wrap)
# 外包装法,abcdefgh|abcdefgh|abcdefgh

constant = cv2.copyMakeBorder(cat, top_size, bottom_size, left_size, right_size, cv2.BORDER_CONSTANT, dst=0)
cv2.imshow('constant', constant)
# 常量法,常数值填充

cv2.waitKey() # 等待键盘输入,任意输入,窗口消失
cv2.destroyWindow('cat')  # 销毁内存

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值