IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 计算机视觉(一) -> 正文阅读

[人工智能]计算机视觉(一)

一、安装和配置Python+opencv

具体方式网上都有,因此不在此做过多描述。
通过使用opencv,验证配置成功。
在这里插入图片描述

二、 直方图

2.1 基本原理

图像直方图是用一表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素数。这种直方图中,横坐标的左侧为纯黑、较暗的区域,而右侧为较亮、纯白的区域。
而灰度直方图则是表示不同灰度值在该图像里的分布,以横轴表示像素值,纵轴表示对应像素值的数量
直方图失去图像的坐标信息。

2.2 代码实现

使用matplotlib绘制直方图

import cv2
import matplotlib.pyplot as plt

img = cv2.imread("E://img1.jpg")
reim = cv2.resize(img,dsize=(600,480))

cv2.imshow("test",reim)

plt.hist(reim.ravel(), 256)  # ravel()是numpy里的函数,将多维数组转换为一维数组

plt.show()
cv2.waitKey()

在这里插入图片描述

三、高斯滤波

3.1 基本原理

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。因此虽然能消除噪声,但也不可避免的产生了图像模糊的后果。二维高斯分布如下:
在这里插入图片描述

3.2 代码实现

使用opencv的函数cv2.GaussianBlur,并设置模板大小

gsim = cv2.GaussianBlur(reim, (5, 5), 0)
plt.subplot(1,2,1)
reim=cv2.cvtColor(reim,cv2.COLOR_BGR2RGB)
plt.title("origin")
plt.imshow(reim)
plt.subplot(1,2,2)
gsim=cv2.cvtColor(gsim,cv2.COLOR_BGR2RGB)
plt.title("gaussian")
plt.imshow(gsim)

将其输出,发现确实经过滤波后变得模糊
在这里插入图片描述

四、直方图均衡化

4.1 基本原理

直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。其定义与实现效果见下图:
在这里插入图片描述

4.2 代码实现

在此主要展示灰度图像的直方图均衡化,使用函数cv2.equalizeHist 即可。对于彩色图像,将彩色图像先用split()方法,将三个通道拆分,然后分别进行均衡化.最后使用merge()方法将均衡化之后的三个通道进行合并,原理同灰度相同,故不过多展示。

gray=cv2.cvtColor(reim,cv2.COLOR_BGR2GRAY)

plt.subplot(2,2,1)
gray1=cv2.cvtColor(gray, cv2.COLOR_BGRA2RGB)
plt.imshow(gray1)
plt.subplot(2,2,2)
plt.hist(gray1.ravel(),256)
plt.subplot(2,2,3)
equal = cv2.equalizeHist(gray)
equal1=cv2.cvtColor(equal, cv2.COLOR_BGRA2RGB)
plt.imshow(equal1)
plt.subplot(2,2,4)
plt.hist(equal1.ravel(), 256)

结果如下。对比图像直方图可以看到,经过直方图均衡化后直方图分布更均匀,图像也更加的明亮
在这里插入图片描述

五、总结

本次实验内容与上学去所学的数字图像处理内容相似,且opencv之前在C++中也使用过,函数比较熟悉。但是在python中用matplotlib输出BGR图像还是有一番费劲的。这是本课程第一次实验,后续继续加油吧。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:08:21  更:2022-03-17 22:08:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 15:00:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码