Python-Opencv学习总结(三):阈值分割

11、图像缩放

使用函数cv2.resize()
dst=cv2.resize(src, dsize)
src为原始图像,dsize为要处理后的图像的列行
例:b=cv2.resize(a,(122,122))
注意:第一个数字代表列,第二个才是行

dst=cv2.resize(src,dsize,fx,fy) 不使用dsize的情况下使用fx,fy
fx:在水平方向缩放多少倍,大于1就是放大,小于1就是缩小
fy:在垂直方向缩放多少倍,大于1就是放大,小于1就是缩小
例:b=cv2.resize(a,None,fx=0.5,fy=0.7) ; 不使用dsize=None,

注:dsize和fx,fy只设置一个就行

12、图像翻转

使用函数 flip( )
dst=cv2.flip(src,flipCode)
flipCode=0
以X轴为基准轴上下翻转
b=cv2.flip(a,0) a为原始图像

flipCode>0
以Y轴为基准轴左右翻转
b=cv2.fip(a,1)

flipCode<0
以Y轴翻转,再用X轴翻转
b=cv2.flip(a,-1)

13、阈值分割

二进制阈值化
该方法是:大于阈值的像素,像素全部设置成最大值,小于阈值的像素,像素全部设置成最小值。
反二进制阈值化
方法是:先设定一个特定的灰度值作为阈值,大于阈值像素设定为0,小于阈值设定为255。
截断阈值化
方法是:设定一个阈值,图像中大于该阈值的像素点全设定为该阈值,小于该阈值的像素点保持不变。
反阈值化为0
方法是:大于等于阈值的像素点变为0,小于该阈值的像素点值不变。
阈值化为0
方法是:设定一个阈值,大于等于阈值的像素点,保持不变,小于该阈值的像素点,值为0。

14、阈值分割threshold函数

retval,dst=cv2.threshold(src,thresh,maxval,type)
retval:阈值 dst:结果
src:原图像 thresh:阈值
maxval:最大值 type:类型
二进制阈值化
关键字:cv2.THRESE_BINARY
r,b=cv2.threshold(a,127,255,cv2.THRESE_BINARY)
反二进制阈值化
关键字: cv2.THRESH_BINARY_INV
r,b=cv2.threshold(a,127,255,cv2.THRESH_BINARY_INV)
截断阈值化
关键字: cv2.THRESH_TRUNC
r,b=cv2.threshold(a,127,255,cv2.THRESH_TRUNC)
反阈值化为0
关键字: cv2.THRESH_TOZERO_INV
r,b=cv2.threshold(a,127,255,cv2.THRESH_ TOZERO_INV)

import cv2
o=cv2.imread(r'D:\image\lena512.bmp',cv2.IMREAD_UNCHANGED)
#二进制阈值化
r,b=cv2.threshold(o,128,255,cv2.THRESH_BINARY)
#反二进制阈值化
r1,b1=cv2.threshold(o,128,255,cv2.THRESH_BINARY_INV)
#截断阈值化
r2,b2=cv2.threshold(o,128,255,cv2.THRESH_TRUNC)
#反阈值化为0
r3,b3=cv2.threshold(o,128,255,cv2.THRESH_TOZERO_INV)
cv2.imshow('o',o)
cv2.imshow('b',b)
cv2.imshow('b1',b1)
cv2.imshow('b2',b2)
cv2.imshow('b3',b3)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值