当前位置: 首页 > news >正文

网站建设的功能有哪些内容在线医生免费咨询

网站建设的功能有哪些内容,在线医生免费咨询,内蒙古住房和城乡建设厅官方网站,怎么查公司企业邮箱[原发布时间: 2022-03-01 13:14:58] 目录1. Opencv的安装2. Pycharm中使用opencv出现的错误4. 高斯滤波4.1 对灰度图像进行高斯滤波4.2 对彩色图像进行高斯滤波5. 直方图均衡化6. 总结1. Opencv的安装 安装完python后可以使用python自带的pip命令安装opencv&#x…

[原发布时间: 2022-03-01 13:14:58]

目录

    • 1. Opencv的安装
    • 2. Pycharm中使用opencv出现的错误
    • 4. 高斯滤波
      • 4.1 对灰度图像进行高斯滤波
      • 4.2 对彩色图像进行高斯滤波
    • 5. 直方图均衡化
    • 6. 总结

1. Opencv的安装

安装完python后可以使用python自带的pip命令安装opencv,命令如下:

pip install opencv-python

检查opencv模块是否安装成功:

C:\Users\lenovo>python
Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.4.0'

在python环境下依次输入import cv2 cv2.__version__,出现版本号则说明opencv模块已安装成功


opencv模块的测试,编写如下代码后在python环境下运行:

import cv2
img = cv2.imread("C:/Users/lenovo/Pictures/example/exper7.jpg")
cv2.imshow("test-opencv",img)
cv2.waitKey(0)

2. Pycharm中使用opencv出现的错误

安装好opencv后在Vscode和命令行终端中能正常运行使用到opencv模块的代码,但是在Pycharm中会出现ModuleNotFoundError: No module named 'cv2'的错误,原因是没有把opencv的路径添加到Pycharm的Python解释器中。因为cv2的核心模块在python中的\lib\site-packages包中,因此需要把该路径添加到Pycharm的Python解释器中,具体步骤:

  1. 设置->Python 解释器
  2. 选择全部显示
  3. 点击树形图案
  4. site-package包的路径添加到解释器中

##3. 图像直方图

原理:图像的直方图用来表征该图像像素值的分布情况,用一定数目的小区间来指定像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。图形的直方图可以使用hsit()函数绘制。

源码:

from PIL import Image
from pylab import *# 添加中文字体支持
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)
#读取图像,并转成灰度图像
im = array(Image.open('C:/Users/lenovo/Pictures/example/exper7.jpg').convert('L'))  subplot(131)
imshow(im)
axis('equal')
axis('off')
title(u'灰度图', fontproperties=font)
subplot(132)
gray()
contour(im, origin='image')
# 表示x轴和y轴的单位长度相同
axis('equal')
# 关闭所有坐标轴线、刻度标记和标签
axis('off')
title(u'图像轮廓', fontproperties=font)subplot(133)
hist(im.flatten(), 128)
title(u'图像直方图', fontproperties=font)
# 设置x轴和y轴的范围
plt.xlim([0,260])
plt.ylim([0,11000])
show()

运行结果:
在这里插入图片描述

4. 高斯滤波

高斯滤波原理:将图像I和一个高斯和进行卷积操作:
I_σ=I∗G_σI\_\sigma=I\ast G\_\sigmaI_σ=IG_σ

其中∗\ast表示卷积操作,GσG_\sigmaGσ是标准差为σ\sigmaσ的二维高斯核,定义为:
Gσ=12πσ2e−(x2+y2)/2σ2G_\sigma=\frac{\displaystyle1}{\displaystyle 2 \pi \sigma^2}e^{-(x^2+y^2)/2\sigma^2}Gσ=2πσ21e(x2+y2)/2σ2

4.1 对灰度图像进行高斯滤波

源码:

from PIL import Image
from pylab import *
from scipy.ndimage import filters# 添加中文字体支持
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)
im = array(Image.open('C:/Users/lenovo/Pictures/example/exper7.jpg').convert('L'))
figure()
gray()
axis('off')
subplot(1, 4, 1)
axis('off')
title(u'原图', fontproperties=font)
imshow(im)for bi, blur in enumerate([2, 5, 10]):im2 = zeros(im.shape)im2 = filters.gaussian_filter(im, blur)im2 = np.uint8(im2)imNum=str(blur)subplot(1, 4, 2 + bi)axis('off')title(u'标准差为'+imNum, fontproperties=font)imshow(im2)show()

运行结果:
在这里插入图片描述

4.2 对彩色图像进行高斯滤波

源码:

from PIL import Image
from pylab import *
from scipy.ndimage import filters# 添加中文字体支持
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)
im = array(Image.open('C:/Users/lenovo/Pictures/example/exper7.jpg'))figure()
gray()
axis('off')
subplot(1, 4, 1)
axis('off')
title(u'原图', fontproperties=font)
imshow(im)#如果是彩色图像,则分别对三个通道进行模糊
for bi, blur in enumerate([2, 5, 10]):im2 = zeros(im.shape)for i in range(3):im2[:, :, i] = filters.gaussian_filter(im[:, :, i], blur)im2 = np.uint8(im2)imNum=str(blur)subplot(1, 4,  2 + bi)axis('off')title(u'标准差为'+imNum, fontproperties=font)imshow(im2)show()

运行结果:
在这里插入图片描述

多张图片运行结果:
在这里插入图片描述

改变标准差的值:
在这里插入图片描述

由上述运行结果可知,使用相同的标准差对不同图像进行滤波时,滤波效果并不相同。

5. 直方图均衡化

原理:直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。均衡化过程中,像素无论怎么映射,都需要保证原来的大小关系不变,即较亮的区域依旧是较亮的,较暗的区域依旧较暗,只是对比度增大,明暗关系不发生变化。

源码:

from PIL import Image
from pylab import *
from PCV.tools import imtools# 添加中文字体支持
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)im = array(Image.open('C:/Users/lenovo/Pictures/example/exper7.jpg').convert('L'))  # 打开图像,并转成灰度图像
im2, cdf = imtools.histeq(im)figure()
subplot(2, 2, 1)
axis('off')
gray()
title(u'原始图像', fontproperties=font)
imshow(im)subplot(2, 2, 2)
axis('off')
title(u'直方图均衡化后的图像', fontproperties=font)
imshow(im2)subplot(2, 2, 3)
axis('off')
title(u'原始直方图', fontproperties=font)
hist(im.flatten(), 128)subplot(2, 2, 4)
axis('off')
title(u'均衡化后的直方图', fontproperties=font)
hist(im2.flatten(), 128)show()

运行结果:
在这里插入图片描述

更换原始图像:
在这里插入图片描述
在这里插入图片描述

6. 总结

  • 图像的直方图能够清晰直观地将图像分布在各个区间的像素数量展示出来
  • 高斯滤波适用于消除高斯噪声,通过高斯滤波改变图像每一个像素点的值(用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值),且由于不同图像的像素分布情况不一,因此对多张图片使用相同的标准差进行滤波时效果不同
  • “直方图均衡化”操作通过重新分配图像像素值,使一定灰度范围内的像素数量大致相同,从而起到增强图像对比度的效果
http://www.dtcms.com/a/499159.html

相关文章:

  • Gituee
  • 简洁软件下载网站源码做网站服务器多钱
  • java.nio 包详解
  • python+django/flask婚纱摄影拍照管理系统
  • SpringBoot 集成 ELK 实现系统操作日志存储方案
  • 如何解决 Jacob 与 Tomcat 类加载问题:深入分析 Tomcat 类加载机制与 JVM 双亲委派机制
  • AVL树(平衡二叉树)详细介绍与Java实现
  • 2025年市场岗位能力重构与跨领域转型路径分析
  • SQL UNIQUE约束详解
  • 【unity实战】MapMagic 2实战例子
  • 系统找不到文件
  • 网站建设综合实训总结有谁会设制网站
  • 什么是Redis的缓存问题,以及如何解决
  • Python遗传算法详解:从理论到实践
  • 技术支持 东莞网站建设 轴承信宜网站建设公司
  • CSS基础知识(3)
  • git分支管理介绍和stash命令
  • 建个网站视频教程团队拓展训练感悟
  • 做网站应选那个主题龙岩微信小程序定制
  • Linux学习笔记--GPIO子系统和PinCtrl子系统
  • SpringBoot外部配置打包
  • 通达信--超级盘口
  • 基于单片机的开尔文电路电阻测量WIFI上传设计
  • 矽塔 SA8210 输入耐压36V 6A过流保护阈值 过压/过流保护芯片 SOT23-6/DFN2X2-8
  • 永年做网站收集链接 做网站
  • Linux----权限
  • 深入理解 PHP 框架里的设计模式
  • 西安网站工作室做外贸网站哪家的好
  • 如何用python写一个有字数上限的文字区块链?
  • 算能 CV184 智能相机整体方案介绍