python图像平移,python数据平滑处理
主要介绍了如何利用Python中的OpenCV库对图像进行平滑滤波和图像加噪,如双边滤波、高斯双边滤波、图像加随机噪声等。让我们来看看那些对Python图像平滑感兴趣的人。
00-1010前言一、Python编写二。Python模拟III。摘要
目录
随着人工智能研究的兴起,Python的应用也呈上升趋势。由于其简单性、可读性和可扩展性,尤其是各种神经网络在开源工具和深度学习中的应用,Python已经成为最受欢迎的编程语言之一。因为它完全开源,易学,易读,易维护,而且它的可移植性,可解释性,可扩展性,可嵌入性:丰富的库等。我在学习和工作中经常接触到Python。这一系列文章的话主要是介绍Python中一些常用的例程进行仿真演示!
这一系列文章主要参考杨老师分享的代码资源。杨老师的博客首页是东山。杨老师兴趣广泛,不愧是邪教教主。他成了我理想中的样子。希望以后可以找他请教交流。
因为我是图像与语音出身,所以结合《Python中的图像处理》学习了Python。OpenCV在Python上已经维护了好几个版本,所以和VS相比,Python的环境配置相对简单,不需要任何库就可以直接安装。本系列文章中的例程都是基于Python3.8的,所以建议在3.8.0或以上版本中进行模拟。本文继续介绍本书第十章的后四个套路。
前言
如何确定自己安装了python?
Win输入cmd进入命令行程序。
单击“确定”
回车:python,回车。
见Python相关版本信息,说明Python安装成功。
一. Python准备
(1)创建一个新的chapter10_06.py文件,输入以下代码,将图片放在与。py文件。
# -*-编码: utf-8 -*-
#作者:CSDN伊斯特蒙特2021-06-07
导入cv2
将numpy作为np导入
将matplotlib.pyplot作为plt导入
#阅读图片
img=cv2.imread(te.png )
source=cv2.cvtColor(img,cv2。COLOR_BGR2RGB)
#双边过滤
result=cv2 . bilateral filter(source,15,150,150)
#用于正常显示中文标签。
PLT . RC params[ font . sans-serif ]=[ sim hei ]
#显示图形
Titles=[原始图像,双边过滤]
images=[来源,结果]
对于范围(2):中的I
plt.subplot(1,2,i 1),plt.imshow(images[i], gray )
plt.title(标题[i])
plt.xticks([]),plt.yticks([])
plt.show()
保存。py文件
输入eixt()退出python,输入命令行进入项目文件目录。
输入以下命令启动项目
python第10章_06.py
没有错误,只需弹出图片,运行成功!
(2)创建一个新的chapter10_07.py文件,输入以下代码,将图片放在与。py文件。
# -*-编码: utf-8 -*-
#作者:CSDN伊斯特蒙特2021-06-07
导入cv2
将numpy作为np导入
将matplotlib.pyplot作为plt导入
#阅读图片
img=c
v2.imread(te.png)
source = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
#均值滤波
result1 = cv2.blur(source, (5,5))
result2 = cv2.blur(source, (10,10))
#方框滤波
result3 = cv2.boxFilter(source, -1, (5,5), normalize=1)
result4 = cv2.boxFilter(source, -1, (2,2), normalize=0)
#高斯滤波
result5 = cv2.GaussianBlur(source, (3,3), 0)
result6 = cv2.GaussianBlur(source, (15,15), 0)
#中值滤波
result7 = cv2.medianBlur(source, 3)
#高斯双边滤波
result8 =cv2.bilateralFilter(source, 15, 150, 150)
#显示图形
titles = [Source, Blur 5*5, Blur 10*10, BoxFilter 5*5,
BoxFilter 2*2, GaussianBlur 3*3, GaussianBlur 15*15,
medianBlur, bilateralFilter]
images = [source, result1, result2, result3,
result4, result5, result6, result7, result8]
for i in range(9):
plt.subplot(3,3,i+1), plt.imshow(images[i], gray)
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()
保存.py文件输入以下命令,跑起工程
python chapter10_07.py
没有报错,直接弹出图片,运行成功!
(3)新建一个chapter10_08.py文件,输入以下代码,图片也放在与.py文件同级文件夹下
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-06-07
import cv2
import numpy as np
import matplotlib.pyplot as plt
#读取图片
img = cv2.imread(test01_yn.png)
source = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
#中值滤波
result1 = cv2.medianBlur(source, 3)
#高斯双边滤波
result2 =cv2.bilateralFilter(source, 15, 150, 150)
#均值迁移
result3 = cv2.pyrMeanShiftFiltering(source, 20, 50)
#用来正常显示中文标签
plt.rcParams[font.sans-serif]=[SimHei]
#显示图形
titles = [原始图像, 中值滤波, 双边滤波, 均值迁移]
images = [source, result1, result2, result3]
for i in range(4):
plt.subplot(2,2,i+1), plt.imshow(images[i], gray)
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()
保存.py文件输入以下命令,跑起工程
python chapter10_08.py
没有报错,直接弹出图片,运行成功!
(4)新建一个chapter10_09.py文件,输入以下代码,图片也放在与.py文件同级文件夹下
# -*- coding:utf-8 -*-import cv2
import numpy as np
#读取图片
img = cv2.imread("te.png", cv2.IMREAD_UNCHANGED)
rows, cols, chn = img.shape
#加噪声
for i in range(5000):
x = np.random.randint(0, rows)
y = np.random.randint(0, cols)
img[x,y,:] = 255
cv2.imshow("noise", img)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
保存.py文件输入以下命令,跑起工程
python chapter10_09.py
没有报错,直接弹出图片,运行成功!
三. 小结
本文主要介绍在Python中调用OpenCV库对图像进行图像平滑滤波处理与图像加噪处理,如双边滤波,高斯双边滤波,图像加随机噪声等操作。由于本书的介绍比较系统全面,所以会出一个系列文章进行全系列仿真实现,感兴趣的还是建议去原书第十章深入学习理解,下一篇文章将继续介绍第十一章节的5例仿真实例。每天学一个Python小知识,大家一起来学习进步阿!
到此这篇关于Python中的图像处理之Python图像平滑处理操作的文章就介绍到这了,更多相关Python图像平滑内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。