opencv基础学习-1

环境版本:

Python 版本:
	Anaconda Python					   3.7
opencv包版本:
	opencv-contrib-python              3.4.2.16
	opencv-python                      3.4.2.16

运行环境:jupyter


初始化:

import cv2
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline # 此语句为jupyter语法糖 可以直接在console输出显示图像,仅支持jupyter

img = cv2.imread('./yy.jpg')
img # 后面都使用此图像 可以直接通过变量名看到 BGR 数据值
# ps: opencv中默认使用BGR方式排序,每个值都是0-255之间的数值

在这里插入图片描述

# 显示一下我们的图像信息
plt.imshow(img)
img.size
img.dtype

在这里插入图片描述


图像阈值:

  • 输出三张图像 :
    • 第一张是默认图像
    • 第二张为二值化操作后的图像,THRESH_BINARY表示阈值的二值化操作,大于阈值使用maxval表示,小于阈值使用0表示,此处为:大于127为255,小于127为0
    • 第三张为行化零操作,THRESH_TOZERO_INV表示进行化零操作的翻转,大于阈值的使用0表示,小于阈值的不变,此处为:大于127为0,小于127不变
ret, dst1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
ret, dst2 = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO_INV)

images = [img, dst1, dst2]
for i in range(3):
    plt.subplot(2,3,i+1), plt.imshow(images[i], 'gray')
    plt.xticks([]), plt.yticks([])
plt.show()

在这里插入图片描述


图像平滑:

# 均值滤波 周围相加/3*3 (类似归一化)
blur = cv2.blur(img, (3,3))
cv2.imshow('blur', blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

# 方框滤波
box = cv2.boxFilter(img, -1, (2,2), normalize=False)
cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

# 高斯滤波 周围相加(相加有个权重的相乘)/3*3 (类似归一化)
img1 = cv2.imread('./2.png')
gaussian = cv2.GaussianBlur(img,(3,3), 1)
cv2.imshow('gaussian', gaussian)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

# np.hstack 合并图像
res = np.hstack((blur,box, gaussian))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值