python+CV对图像的基本操作

python+CV对图像的基本操作

opencv安装

在cmd下输入

pip install opencv-python

绘制直方图

直方图统计了图像像素的分布,但空间信息完全丧失。

import cv2
import matplotlib.pyplot as plt

im = cv2.imread("../jmuIma/t1.JPG", cv2.IMREAD_GRAYSCALE)
im = cv2.resize(im, dsize=(400, 300))
cv2.imshow("im", im)

plt.hist(im.ravel(), 256)
plt.show()

cv2.waitKey()
cv2.destroyAllWindows()

效果如下

在这里插入图片描述

在这里插入图片描述

高斯滤波

高斯滤波在去除高斯噪声方面非常有效

在这里插入图片描述

概率分布函数为:

G ( x , y ) = 1 2 π σ 2 ⋅ e − x 2 + y 2 2 σ 2 G(x, y)=\frac{1}{2 \pi \sigma^{2}} \cdot e^{-\frac{x^{2}+y^{2}}{2 \sigma^{2}}} G(x,y)=2πσ21e2σ2x2+y2

import cv2

src = cv2.imread("../jmuIma/t2.JPG")
img = src.copy()
img = cv2.resize(img, dsize=(400, 300))

# 高斯滤波
img_gaussianBlur = cv2.GaussianBlur(img, (3, 3), 1)

# 显示图像
cv2.imshow("gauss", img)
cv2.imshow("gaussianBlur", img_gaussianBlur)
cv2.waitKey(0)
cv2.destroyAllWindows()

效果对比如下

在这里插入图片描述

直方图均衡化

通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。对比度较低的图像适合使用直方图均衡化方法来增强图像细节。

import cv2

img = cv2.imread("../jmuIma/t3.JPG")
img = cv2.resize(img, dsize=(400, 300))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("src", gray)

equal = cv2.equalizeHist(gray)
cv2.imshow("equal", equal)

cv2.waitKey(0)

在这里插入图片描述

结语

这些是计算机视觉学习中必须要掌握的基本功,大多是opencv的基本操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值