计算机视觉 基于OpenCV的一些基础图像操作

本文介绍了使用OpenCV进行图像处理的基本操作,包括灰度图像转换、直方图绘制、直方图均衡化以及高斯滤波等关键技术。这些技术在计算机视觉领域有着广泛的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机视觉 基于OpenCV的基础图像操作

具体软件安装以及环境的配置可参考
annaconda Python+Pycharm+OpenCV的安装及环境的配置
因为我们安装的anaconda里已经包含了SCIpy,matplotlib等大部分的库,所以不必再特地去安装。

1.灰度图像

import cv2
img0 = cv2.imread('2.jpg',1)
img1 = cv2.imread('2.jpg',0)
img0 = cv2.resize(img0, (527, 395), interpolation=cv2.INTER_CUBIC)
img1 = cv2.resize(img1, (527, 395)  , interpolation=cv2.INTER_CUBIC)
cv2.imshow('gary',img1)
cv2.imshow('origin',img0)
cv2.waitKey(0)

效果图(左图为原图,右图为灰度图像)在这里插入图片描述

2.直方图
直方图x轴是灰度值(一般0~255),y轴就是图像中每一个灰度级对应的像素点的个数。

import cv2 as cv
from matplotlib import pyplot as plt
import numpy as np


path = '2.jpg'
img = cv.imread(path, 0)#先取灰度图像
plt.hist(img.ravel(), 256, [0, 256])
plt.show()


效果图
在这里插入图片描述
3.直方图均衡化
直方图均衡化就是 把原始图的直方图变换为均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果

import cv2

img = cv2.imread("2.jpg", 1)
img = cv2.resize(img, (527, 395), interpolation=cv2.INTER_CUBIC)
cv2.imwrite('2.jpg', img)
cv2.imshow("origin", img)

# 彩色图像均衡化,需要分解通道 对每一个通道均衡化
(b, g, r) = cv2.split(img)
bH = cv2.equalizeHist(b)
gH = cv2.equalizeHist(g)
rH = cv2.equalizeHist(r)
# 合并每一个通道
result = cv2.merge((bH, gH, rH))
cv2.imshow("dst", result)

cv2.waitKey(0)

效果图(左图为原图,右图为均衡化效果图)
在这里插入图片描述

4.高斯滤波

高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。

import cv2
import numpy as np

img = cv2.imread("2.jpg", 1)
img_GaussianBlur=cv2.GaussianBlur(img,(7,7),0)
cv2.imshow("origin", img)
cv2.imshow("GaussianBlur", img_GaussianBlur)
cv2.waitKey(0)

效果图(左图为原图,右图为高斯滤波后图像)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值