当前位置: 首页 > news >正文

opencv学习记录1

img = cv2.imread('pic.jpg')#读图像
#封装函数
def cv_show(name,img):cv2.imshow('image',img)#显示图像cv2.waitKey(0)#显示时间cv2.destroyWindow()
#读灰度图
img = cv2.imread('pic.jpg',cv2.IMREAD_GRAYSCALE)
#保存
cv2.imwrite('name',img)
#读视频
vc = cv2.VideoCapture('name')
#检查是否打开
if vc.isOpened():open , frame = vc.read()
else:open = False
#遍历视频
while open:ret ,frame = vc.read()if frame is None:breakif ret == True:gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)cv2.imshow('result',gray)if cv2.waitKey(1) &0xFF==27:break
vc.release()
cv2.destroyWindow()
#截取图像
img = cv2.imread('name')
pic = img[0:200,0:200]
#颜色通道提取
b,g,r = cv2.split(img)
#边界填充
cv2.copyMakeBorder(src,top,bottom,left,right,cv2.borderType)
src : 输入的图片
top, bottom, left, right :相应方向上的边框宽度
borderType:定义要添加边框的类型,它可以是以下的一种:
cv2.BORDER_CONSTANT:添加的边界框像素值为常数(需要额外再给定一个参数)
cv2.BORDER_REFLECT:添加的边框像素将是边界元素的镜面反射,类似于gfedcba|abcdefgh|hgfedcba
cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT:和上面类似,但是有一些细微的不同,类似于gfedcb|abcdefgh|gfedcba
cv2.BORDER_REPLICATE:使用最边界的像素值代替,类似于aaaaaa|abcdefgh|hhhhhhh
cv2.BORDER_WRAP:不知道怎么解释,直接看吧,cdefgh|abcdefgh|abcdefg
value:如果borderType为cv2.BORDER_CONSTANT时需要填充的常数值。
#数值计算
img2 = img+10 c#每个像素+10
imag3 = img2+img1#每个像素点值相加,超出取余
cv2.add(img2,img3)
cv2.resize(img,(x,y))
cv2.resize(img,fx=3,fy=4)
cv2.addWeighted(img1,0.1,img2,0.2,0)
#阈值
cv2.threshold(src,thres,maxval,type)
src: 输入源图像(灰度图)。
thresh:阈值,用于对像素值进行分类。
maxval:最大值(分配给超过阈值的像素值的最大值)。
type:阈值类型,OpenCV提供了由函数的第四个参数给出的不同类型的阈值。cv.THRESH_BINARY		# 小于阈值的像素点置0,大于阈值的像素点置maxval; cv.THRESH_BINARY_INV	# 此时小于阈值的像素点置maxval,大于阈值的像素点置0;cv.THRESH_TRUNC			# 此时小于阈值的像素点保持原数值,大于阈值的像素点置阈值; cv.THRESH_TOZERO		# 此时小于阈值的像素点置0,大于阈值的像素点保持原数值; cv.THRESH_TOZERO_INV	# 此时小于阈值的像素点保持原数值,大于阈值的像素点置0。
#图片平滑操作
blur = cv2.blur(img,(3,3))#均值滤波
box = cv2.boxFilter(img,-1,(3,3),normalize=True)#方框滤波
aussian = cv2.GaussianBlur(img,(5,5),1)#高斯滤波
median = cv2.medianBlur(img,5)
res = np.vstack();#展示所有
http://www.wxhsa.cn/company.asp?id=6752

相关文章:

  • kylin V10SP3安装mysql5.7.42
  • MATLAB 仿真无线传感器网络(WSN)三大经典场景
  • 9.05 DP 专题
  • Linux时间同步---NTP时间同步方案
  • java预习
  • B/S体系结构风格
  • The 2024 CCPC Online Contest 7/12 L/B/K/D/J/E/C
  • 在joule里面使用agent 功能
  • Feign动态URL配置
  • 自动化部署工具 Jenkins 的安装与配置
  • pip 搭建源
  • qoj10093 Jump the Frog
  • new 和make
  • Ceres 常用 LossFunction 对比
  • python函数
  • git使用
  • 测试开发全日制学徒班火热报名中|跟着名企大咖做真实项目,结业即上岗
  • 墨刀是否能替代Axure?从产品经理三大画图能力深度分析
  • AI 自动化智能体训练营
  • 微信商户绑定微信公众号、小程序
  • 唯创知音AI语音交互芯片与模组介绍
  • k3s 高可用集群部署(内置 etcd + VIP + keepalived)
  • 问HashMap底层原理?
  • 用 Go 重写 adbkit:原理、架构与搭建实践
  • C语言环境搭建之Linux子系统使用vscode连接子系统
  • 移远AT指令笔记
  • 数据类型
  • iphone运行windows系统
  • NVR接入录像回放平台EasyCVR视频融合平台语音对讲配置指南
  • Ubuntu filebrowser网盘工具安装