首页 > 编程语言 >图像处理与分析编程实践

图像处理与分析编程实践

时间:2023-08-28 23:34:59浏览次数:30  
标签:效果 平滑 编程 实践 效果图 算法 图像处理 图像 算子

 

 

日期

2022-10-29

 

 

打开图像,显示图像,灰度化,二值化,存储图像,缩放图像,观察其分辨率,降低灰度分辨率两种模式,观察图像变化;

原图, 像素尺寸: 700x350

 

图像处理与分析编程实践_数字图像处理算法

 

如见显示图像,效果图如下:

图像处理与分析编程实践_数字图像处理算法_02

 

 

灰度化后得到的图片如下:

 

图像处理与分析编程实践_数字图像处理算法_03

 

二值化后得到图片如下:

 

图像处理与分析编程实践_数字图像处理算法_04

 

图片放大10倍后,得到的图片局部如下:

 

图像处理与分析编程实践_数字图像处理算法_05

 

图片缩小10倍后,得到如下效果图:

 

图像处理与分析编程实践_数字图像处理算法_06

 

 

打开一副低对比度图像,拉伸其图像,打开一幅过度曝光图像,拉伸其图像,观察图像变换,对图像直方图均衡算法;

过度曝光图下效果:

 

图像处理与分析编程实践_数字图像处理算法_07

 

直方图均衡算法后,达到效果:

 

图像处理与分析编程实践_数字图像处理算法_08

 

 

图像空域与频域的平滑、锐化处理的模板方法;

方块滤波得到的平滑效果图:

 

图像处理与分析编程实践_数字图像处理算法_09

 

 

均值滤波得到的平滑效果:

 

图像处理与分析编程实践_数字图像处理算法_10

 

高斯滤波得到的平滑效果:

 

图像处理与分析编程实践_数字图像处理算法_11

 

中值滤波得到的平滑效果:

 

图像处理与分析编程实践_数字图像处理算法_12

 

双边滤波得到的平滑效果:

 

图像处理与分析编程实践_数字图像处理算法_13

 

锐化指数增强效果图

 

图像处理与分析编程实践_数字图像处理算法_14

 

锐化对数增强效果图

 

图像处理与分析编程实践_数字图像处理算法_15

 

 

锐化高反差效果图

 

图像处理与分析编程实践_数字图像处理算法_16

 

图像的边缘轮廓提取算法:canny算子、sobel算子、拉普拉斯算子等

canny算子效果图

 

图像处理与分析编程实践_数字图像处理算法_17

 

sobel算子效果图

 

图像处理与分析编程实践_数字图像处理算法_18

 

拉普拉斯算子效果图

 

图像处理与分析编程实践_数字图像处理算法_19

 

对一副图像加噪,进行几何均值,算术均值,谐波,逆谐波处理,显示图像的结果;

图像高斯噪声效果:

 

图像处理与分析编程实践_数字图像处理算法_20

 

几何均值

 

图像处理与分析编程实践_数字图像处理算法_21

 

算术均值

 

图像处理与分析编程实践_数字图像处理算法_22

 

谐波

 

图像处理与分析编程实践_数字图像处理算法_23

 

逆谐波

 

图像处理与分析编程实践_数字图像处理算法_24

 

 

彩色图像处理算法:提取一张彩色图像中红色,用HIS模型处理,RGB模型对比显示;

原图:

 

图像处理与分析编程实践_数字图像处理算法_25

 

HIS模型提取红色后:

 

图像处理与分析编程实践_数字图像处理算法_26

 

 

形态学算法:二值图像进行膨胀、腐蚀、开、闭操作,提取边缘;

原始二值图

 

图像处理与分析编程实践_数字图像处理算法_27

 

膨胀

 

图像处理与分析编程实践_数字图像处理算法_28

 

腐蚀

 

图像处理与分析编程实践_数字图像处理算法_29

 

开操作

 

图像处理与分析编程实践_数字图像处理算法_30

 

闭操作

 

图像处理与分析编程实践_数字图像处理算法_31

 

 

对一副图像进行二值化,ostu算法等

二值化,ostu算法输出效果:

 

图像处理与分析编程实践_数字图像处理算法_32

 

纹理匹配算法:提取图像纹理,匹配图像

提取图像纹理效果:

 

图像处理与分析编程实践_数字图像处理算法_33

 

基于SIFT算子的匹配算法

输出效果如下:

 

图像处理与分析编程实践_数字图像处理算法_34

 

标签:效果,平滑,编程,实践,效果图,算法,图像处理,图像,算子
From: https://blog.51cto.com/u_11045857/7267377

相关文章

  • 笔记-《深入理解java虚拟机-JVM高级特性与最佳实践》
    想深入了解虚拟机相关知识,所以买此书学习,记录笔记,用于后续复习查看本文内容基本摘抄自《深入理解java虚拟机-JVM高级特性与最佳实践》,以供复习之用,没有多少参考价值。想要更详细了解请参考原书。本书是第二版。基于jdk1.7的,1.7中新增了G1收集器。第一部分走近Java  ......
  • 编程语言的一点区别
    编程语言的一点区别Python解释型语言,必须允许在解释器之上pyinstaller--可以吧这个py打包成exe本质就是把解释器也打包进去了,所以exe显得大go编译型,跨平台。开发时需要开发环境,运行时不需要。对运维特别友好java是编译型--字节码文件jdk:java开发工具包,包含j......
  • netty WebSocket客户端实践
    在之前的Socket学习中,主要都是基于两个Socket客户端:WebSocket和Socket.IO。在做测试的时候也是基于WebSocket消息的发送和接收为主要测试对象。但是对于超多Socket连接没有涉及。在实践中会发现,这两个实现类都存在一个问题,为了维护1个Socket连接及其功能,通常需要创建多个线程。在......
  • 技术实践|Hive数据迁移干货分享
    导语Hive是基于Hadoop构建的一套数据仓库分析系统,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能。它的优点是可以通过类SQL语句快速实现简单的MapReduce统计,不用再开发专门的MapReduce应用程序,从而降低学习成本,十分适合对数据仓库进行统计分析。 近几年,随......
  • 嵌入式串口应用编程
    1.串口概述常见的数据通信的基本方式可分为并行通信与串行通信两种。并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。串行通信是指利用一条传输线将数据以比特位为单位顺序传送。特点是通信线路......
  • Git :团队协作和版本控制的最佳实践
    Git是目前最流行和广泛使用的分布式版本控制系统之一。它不仅能够有效管理代码的版本历史,还提供了强大的团队协作功能。本篇博客将介绍Git的基本概念和常用操作,并详细讲解如何利用Git进行版本控制和团队协作,以提高开发效率和代码管理能力。什么是GitGit是一个分布式版本控制系统......
  • Kubernetes编程—— 如何操作自定义资源
    如何操作自定义资源client-go为每种kubernetes内置资源提供对应的clientset和informer。那如果我们要监听和操作自定义资源对象,应该如何做呢?这里我们有两种方式:我理解意思是说:1、使用client-go提供的dynamicClient来操作自定义操作资源对象,当......
  • Windows编程:获取系统图标
    使用SHGetStockIconInfo函数可以获取系统定义的Shell图标的信息 SHGetStockIconInfo函数定义如下:1SHSTDAPISHGetStockIconInfo(2SHSTOCKICONIDsiid,3UINTuFlags,4[in,out]SHSTOCKICONINFO*psii5); SHSTOCKICONI......
  • 实用指令_实操作_文件目录权限实践案例
    最佳实践举例_警察和土匪游戏阵营分未police,bandit(土匪)police:有jack,jerrybandit:有xh,xq具体案例###步骤##1.创建组groupaddpolicegroupaddbandit##2.创建用户useradd-gpolicejackuseradd-gpolicejerryuseradd-gbanditxhuseradd-gbanditxq......
  • JVM 内存大对象监控和优化实践
    作者:vivo互联网服务器团队-LiuZhen、YeWenhao服务器内存问题是影响应用程序性能和稳定性的重要因素之一,需要及时排查和优化。本文介绍了某核心服务内存问题排查与解决过程。首先在JVM与大对象优化上进行了有效的实践,其次在故障转移与大对象监控上提出了可靠的落地方案。最后,总......