python使用OpenCV,进行图像处理,五种灰度处理方式

b,g,r = cv2.split(img_dog)    # 对用cv2读取的数据进行切片,BGR
plt_img_dog = cv2.merge([r,g,b])   # 将BGR格式转换为RGB格式,用于plt的图片预览

Img_cat = cv2.imread('cat.jpg')
b,g,r = cv2.split(Img_cat)    # 对用cv2读取的数据进行切片,BGR
plt_img_cat = cv2.merge([r,g,b])   # 将BGR格式转换为RGB格式,用于plt的图片预览

gray_cat = cv2.imread('gray_cat.jpg')

# 超过阈值部分取maxval(最大值),否则取0
ret,thresh1 = cv2.threshold(gray_cat,127,255,cv2.THRESH_BINARY)
# THRESH_BINARY 的反转
ret,thresh2 = cv2.threshold(gray_cat,127,255,cv2.THRESH_BINARY_INV)
# 大于阈值的部分设为阈值,否则不变
ret,thresh3 = cv2.threshold(gray_cat,127,255,cv2.THRESH_TRUNC)
# 大于阈值的部分不改变,否则设为0
ret,thresh4 = cv2.threshold(gray_cat,127,255,cv2.THRESH_TOZERO)
# THRESH_TOZERO 的反转
ret,thresh5 = cv2.threshold(gray_cat,127,255,cv2.THRESH_TOZERO_INV)

titles = ['Dog Image','Orignal Image','Gray Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERO_INV']
images = [plt_img_dog,plt_img_cat,gray_cat,thresh1,thresh2,thresh3,thresh4,thresh5]

for i in range(8):
    # 2,4为2x4,2行4列排序
    ax = plt.subplot(2,4,(i+1))
    # imshow(img,camp) 
    # camp是控制绘制的格式,常见有四种:plt.cm.gray、plt.cm.gray_r、'gray'、'gray_r'
    plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([])
    plt.yticks([])  # 设置X,Y轴
plt.show()

结果展示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值