前言
本篇博客介绍在vscode中使用opencv进行图像处理的基本操作,使用的语言为python,vscode中按照python可以参考我以前写的这篇博客:vscode中配置python环境
至于在vscode导入opencv包就请各位自行百度解决(其实是我忘记当初怎么装的了 )。
1.图像直方图
1.1.原理
谈到图像处理就不得不提图像直方图,一般来说,图像直方图是指灰度直方图,即图像通过灰度变换后得到的灰度图像的像素值的分布。
灰度图像图是只针对灰度图像,平常接触的彩色图像都是由三个灰度图像(Red,Green,Blue)叠加而成,可以说每个灰度图像都有自己的灰度直方图。
那么这个直方图有什么用呢,从表面来看,直方图可以直观地表示这幅图像像素点的分布情况,可以很明显的看出一幅图像的明暗程度,缺点也很明显,丢失了图像的图片特征和方向。
不过在谈到一幅图像的直方图都是指这张彩色图像的灰度直方图,这就需要将三张灰度图像化成一张,这里我采用opencv中的cvtColor函数来进行灰度化。
1.2.结果演示
这是我用手机拍的学校图片。

为什么是晚上呢,因为白天拍的照片大小超标了,越亮的照片像素值越高,所占的容量也越大,所以从目前来看,这张图片的直方图应该是偏左边(即靠近原点)的。让我们来测试看看。
from cv2 import waitKey
import numpy as np
import matplotlib.pyplot as plt
import cv2
img=cv2.imread('D:\\vscode\\python\\test1.jpg')
#cvtColor函数(变换对象,转换系数),COLOR_BGR2GRAY的公式为Gray = 0.1140*R + 0.5870*G + 0.2989*B
img=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#额外命名窗口,解决图片过

本文介绍了如何在VSCode中使用Python和OpenCV进行图像处理,包括图像直方图的原理和结果演示,高斯滤波的理论及应用,以及直方图均衡化的概念和效果展示。通过实例展示了这些基本操作在图像处理中的作用。
最低0.47元/天 解锁文章

1375

被折叠的 条评论
为什么被折叠?



