opencv常用函数参数说明

用了一段时间opencv了,目前觉得比较有用的,应该就是这些了

opencv_functions_notes


 1. # 用来转化图像格式的

img = cv2.cvtColor(src, 
    COLOR_BGR2HSV # BGR---->HSV
    COLOR_HSV2BGR # HSV---->BGR
    ...)
	# For HSV, Hue range is [0,179], Saturation range is [0,255] and Value range is [0,255]

 2. # 返回一个阈值,和二值化图像,第一个阈值是用来otsu方法时候用的

	# 不过现在不用了,因为可以通过mahotas直接实现
	T = ret = mahotas.threshold(blurred)
	ret, thresh_img = cv2.threshold(src, # 一般是灰度图像
    num1, # 图像阈值
    num2, # 如果大于或者num1, 像素值将会变成 num2
	# 最后一个二值化参数
    cv2.THRESH_BINARY      # 将大于阈值的灰度值设为最大灰度值,小于阈值的值设为0
    cv2.THRESH_BINARY_INV  # 将大于阈值的灰度值设为0,大于阈值的值设为最大灰度值
    cv2.THRESH_TRUNC       # 将大于阈值的灰度值设为阈值,小于阈值的值保持不变
    cv2.THRESH_TOZERO      # 将小于阈值的灰度值设为0,大于阈值的值保持不变
    cv2.THRESH_TOZERO_INV  # 将大于阈值的灰度值设为0,小于阈值的值保持不变
)
3.thresh = cv2.AdaptiveThreshold(src, 
    dst, 
    maxValue, 
    # adaptive_method 
    ADAPTIVE_THRESH_MEAN_C,      
    ADAPTIVE_THRESH_GAUSSIAN_C,      
    # thresholdType
    THRESH_BINARY, 
    THRESH_BINARY_INV, 
    blockSize=3,
    param1=5
)


4.# 一般是在黑色背景中找白色物体,所以原始图像背景最好是黑色
	# 在执行找边缘的时候,一般是threshold 或者是canny 边缘检测后进行的。
	# warning:此函数会修改原始图像、
	# 返回:坐标位置(x,y), 
(_, cnts, _) = cv2.findContours(mask.copy(), 
    # cv2.RETR_EXTERNAL,             #表示只检测外轮廓
    # cv2.RETR_CCOMP,                #建立两个等级的轮廓,上一层是边界
    cv2.RETR_LIST,                   #检测的轮廓不建立等级关系
    # cv2.RETR_TREE,                 #建立一个等级树结构的轮廓
    # cv2.CHAIN_APPROX_NONE,         #存储所有的轮廓点,相邻的两个点的像素位置差不超过1
    cv2.CHAIN_APPROX_SIMPLE,         #例如一个矩形轮廓只需4个点来保存轮廓信息
    # cv2.CHAIN_APPROX_TC89_L1,
    # cv2.CHAIN_APPROX_TC89_KCOS
   )
5.画出对应的区域
	img = cv2.drawContours(src, cnts, whichToDraw(-1), color, line)

6.保存图像
img = cv2.imwrite(filename, dst,  # 文件路径,和目标图像文件矩阵
    
    # 对于JPEG,其表示的是图像的质量,用0-100的整数表示,默认为95
    # 注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int
    [int(cv2.IMWRITE_JPEG_QUALITY), 5] 
    [int(cv2.IMWRITE_JPEG_QUALITY), 95]
    # 从0到9,压缩级别越高,图像尺寸越小。默认级别为3
    [int(cv2.IMWRITE_PNG_COMPRESSION), 5])
    [int(cv2.IMWRITE_PNG_COMPRESSION), 9])

7.# 如果你不知道用哪个flags,毕竟太多了哪能全记住,直接找找。
	寻找某个函数或者变量
	events = [i for i in dir(cv2) if 'PNG' in i]
	print( events )

	寻找某个变量开头的flags
	flags = [i for i in dir(cv2) if i.startswith('COLOR_')]
	print (flags)

	批量读取文件名字
	import os
	filename_rgb = r'C:\Users\aixin\Desktop\all_my_learning\colony\20170629'
		for filename in os.listdir(filename_rgb):     #listdir的参数是文件夹的路径
    print (filename)

转载和疑问声明

如果你有什么疑问或者想要转载,没有允许是不能转载的哈
赞赏一下能不能转?哈哈,联系我啊,我告诉你呢 ~~
欢迎联系我哈,我会给大家慢慢解答啦~~~怎么联系我? 笨啊~ ~~ 你留言也行

你关注微信公众号1.机器学习算法工程师:2.或者扫那个二维码,后台发送 “我要找朕”,联系我也行啦!

(爱心.gif) 么么哒 ~么么哒 ~么么哒
码字不易啊啊啊,如果你觉得本文有帮助,三毛也是爱!

我祝各位帅哥,和美女,你们永远十八岁,嗨嘿嘿~~~

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值