OpenCV笔记

图片读取、保存、大小设置

cv2.imread()

cv2.imread(filepath, flag)

第一个参数是要读取的图片路径
第二个参数决定读取图片的通道

flag = -1,   8位深度,原通道
flag = 0,   8位深度,1通道
flag = 1,   8位深度,3通道
flag = 2,   原深度, 1通道
flag = 3,   原深度, 3通道
flag = 4,   8位深度,3通道 

得到图片蒙版、勾画轮廓、填充轮廓

cv2.threshold()

图像阈值处理
cv2.threshold(src, thresh, maxval, type)
src

  1. src:要处理的图片路径
  2. thresh:阈值
  3. maxval:最大值
  4. type:处理类型,这里指在划分时使用什么样的算法
    常用算法类型:
THRESH_BINARY     = 0,大于阈值的像素值用maxval代替,小于的像素值用0代替
THRESH_BINARY_INV = 1,INV表示取反
THRESH_TRUNC      = 2,大于阈值的像素值用阈值代替,小于阈值的像素值不变
THRESH_TOZERO     = 3,大于阈值的像素值不变,小于阈值的像素值用0代替
THRESH_TOZERO_INV = 4,与上述方法相反

该函数有两个返回值,第一个retVal(得到的阈值值),第二个就是阈值化后的图像。 此图像是二值图像,黑白图,但它不是单通道的灰度图。

cv2.findContours

用于轮廓检测;

cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]])

参数:
1、寻找轮廓的图像
2、轮廓的检索模式
cv2.RETR_EXTERNAL表示只检测外轮廓
cv2.RETR_LIST检测的轮廓不建立等级关系
cv2.RETR_CCOMP建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息。如果内孔内还有一个连通物体,这个物体的边界也在顶层。
cv2.RETR_TREE建立一个等级树结构的轮廓。
3、轮廓的近似算法
cv2.CHAIN_APPROX_NONE存储所有的轮廓点,相邻的两个点的像素位置差不超过1,max(abs(x1-x2),abs(y2-y1))==1
cv2.CHAIN_APPROX_SIMPLE压缩水平方向,垂直方向,对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息
返回:
1、轮廓,每个轮廓是一个ndarray,每个ndarray是轮廓上的点的集合。轮廓中并不是存储轮廓上所有的点,而是只存储可以用直线描述轮廓的点的个数,比如一个矩形,只需4个顶点就能描述轮廓了。
2、轮廓对应的属性。这是一个ndarray,其中的元素个数和轮廓个数相同,每个轮廓contours[i]对应4个hierarchy元素hierarchy[i][0] ~hierarchy[i][3],分别表示后一个轮廓、前一个轮廓、父轮廓、内嵌轮廓的索引编号,如果没有对应项,则该值为负数。

cv2.fillConvexPoly

填充轮廓

图片颜色转变

cv2.cvtColor

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值