![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Digital images
文章平均质量分 75
半濠春水
这个作者很懒,什么都没留下…
展开
-
图像复原实验
一、 实验目的:1.了解图像降质/复原处理的模型。2.了解估计降质函数的基本原理。3.掌握降质图像中常见噪声模型及参数估计方法、基本原理、实现步骤。4.加深对几种常用的图像复原方法的理解。二、实验原理:对于线性移不变系统,在空域中图像降质过程通常建模为卷积形式,若已知点扩散函数和加性噪声,就很容易反解出原图像函数。由于在空域中直接复原存在大规模计算问题,所以复原一般通过对图像进行傅里叶变换后,在频域中进行图像复原。(1) 无约束复原——维纳滤波(最小均方误差)维纳滤波也称为最小二乘滤波,它.原创 2022-05-18 19:52:10 · 2612 阅读 · 0 评论 -
图像的几何变换实验
一、 实验目的:1. 熟悉MATLAB或OpenCV的操作和基本功能;2. 理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;原创 2022-05-18 19:34:02 · 1559 阅读 · 0 评论 -
图像傅里叶变换实验
一、 实验目的:掌握傅里叶变换及逆变换的基本原理方法。理解频域滤波的基本原理及方法。掌握进行图像的频域滤波的方法。二、实验原理:平滑滤波(1) 线性平滑滤波器线性低通平滑滤波器的所有系数都是正数,对 的模板来说,最简均值滤波器的是取所有系数为1,为了保持输出图像仍然在原图像的灰度值范围内,模板与像素邻域的乘积都要除以9。MATLAB 提供了fspecial函数生成滤波时所用的模板,并提供filter2函数用指定的滤波器模板对图像进行运算。MATLAB 提供了一个函数imnoise来给.原创 2022-05-11 22:51:31 · 4942 阅读 · 0 评论 -
图像增强实验
一、实验目的掌握读、写图像的基本方法。掌握MATLAB语言或OpenCV中图像数据与信息的读取方法。理解图像灰度变换处理在图像增强的作用。掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。二、实验原理 灰度变换是图像增强的一种重要手段,它常用于改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。1.图像反转灰度级范围为[0, L-1]的图像反转可由下式获得2. 对数运算有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可.原创 2022-05-11 16:47:59 · 2699 阅读 · 0 评论 -
图像翻转(Image Flip)
在 OpenCV 中,图像的翻转是采用函数 cv2.flip()实现,该函数能够实现图像在水平方向翻转、垂直方向翻转、两个方向同时翻转,其语法结构为:dst = cv2.flip( src, flipCode )参数解析:dst :和原始图像具有同样大小、类型的目标图像。src:要处理的原始图像。flipCode :旋转类型,该参数的意义如下表所示参数值说明意义0只能是0绕着x轴翻转正数1、2、3等任意正数绕着y轴翻转负数−1、−2、−3 等任意.原创 2022-05-08 13:33:45 · 3267 阅读 · 0 评论 -
图像缩放(Image resize)
在OpenCV中提供函数cv2.resize()实现对图像的缩放,该函数的具体形式如下:dst = cv2.resize( src, dsize[, fx[, fy[, interpolation]]] )参数解析:dst:输出的目标图像,其类型与src相同,大小为 dsize(当该值非零时),或者可以通过 src.size()、fx、fy 计算得到。src:需要进行缩放的原始图像。dsize :输出图像的大小。x: 水平方向的缩放比例。y: 垂直方向的缩放比例。interpolati.原创 2022-05-08 13:30:48 · 9317 阅读 · 0 评论 -
图像的仿射变换
几何变换是指从具有几何结构之集合至其自身或其他此类集合的一种对射。对于图像来说,几何变换就是将一幅图像映射到另一幅图像内的操作。常见的图像映射关系有缩放、翻转、仿射变换、透视、重映射。1.缩放 在OpenCV中提供函数cv2.resize()实现对图像的缩放,该函数的具体形式如下:dst = cv2.resize( src, dsize[, fx[, fy[, interpolation]]] )参数解析:dst:输出的目标图像,其类型与src相同,大小为 dsize(当该值非零时),或者.原创 2022-05-02 14:59:01 · 8236 阅读 · 0 评论 -
自适应阈值处理(Adaptive threshold processing)
自适应阈值处理技术是使用变化的阈值完成对图像的阈值处理。在进行阈值处理时,自适应阈值处理通过计算每个像素点周围临近区域的加权平均值获得阈值,并使用该阈值对当前像素点进行处理。与普通的阈值处理方法相比,自适应阈值处理能够更好地处理明暗差异较大的图像。原创 2021-12-01 16:30:36 · 2767 阅读 · 1 评论 -
阈值处理(Threshold processing)
阈值处理就是剔除图像内像素值高于一定值或者低于一定值的像素点,获得一幅有效实现前景和背景的分离的二值图像。 OpenCV 提供了函数 cv2.threshold()和函数 cv2.adaptiveThreshold(),用于实现阈值处理。原创 2021-12-01 15:32:13 · 6728 阅读 · 0 评论 -
Canny边缘检测
1.算法概述 Canny 边缘检测是一种使用多级边缘检测算法检测边缘的方法。1986 年,John F. Canny 发表了著名的论文 A Computational Approach to Edge Detection,在这篇论文中详述了如何进行边缘检测。 通常情况下边缘检测的目的是在保留原有图像属性的情况下,显著减少图像的数据规模。有多种算法可以进行边缘检测,虽然Canny算法年代久远,但可以说它是边缘检测的一种标准算法,而且仍在研究中广泛使用。2.最优边缘准则Canny 的目标是找到一个最.原创 2021-11-27 13:21:27 · 23939 阅读 · 0 评论 -
图像梯度(Image gradient)
1.概念介绍 图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也小。一般情况下,图像梯度计算的是图像的边缘信息。 严格来讲,计算图像梯度需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值(近似导数值)。2.图像的边界 如图2-1,通过垂直方向的线条A和线条B的位置,可以计算图像水平方向的边界: 对于线条A和线条B,其右侧像素值与左侧像素值的差值不为零,因此是边界。 对于其余列,其右侧像素值原创 2021-11-26 21:52:24 · 5520 阅读 · 0 评论 -
中值滤波(Median filtering)
1.概念介绍 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。 中值滤波的方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。2.基本原理 中值滤波会选取数字图像或数字序列中像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值,让周围的像素值接近真实值,从而消除孤立的噪声点。 例如,针对图2-1中第4行第4列的像素点,.原创 2021-11-25 19:51:56 · 59283 阅读 · 4 评论 -
高斯滤波(Gauss filtering)
1.概念介绍 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。 高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。 对应均值滤波和方框滤波来说,其邻域内每个像素的权重是相等的。而在高斯滤波中,会将中心点的权重值加大,远离中心点的权重值减小,在此基础上计算邻域内.原创 2021-11-25 08:35:56 · 79384 阅读 · 3 评论 -
方框滤波(Box filtering)
1.基本原理 与均值滤波不同的是,方框滤波不会计算像素的均值。在均值滤波中,滤波结果的像素值是任意一个点的邻域平均值,等于各邻域像素值之和除以邻域面积。而在方框滤波中,可以自由选择是否对均值滤波的结果进行归一化,即可以自由选择滤波结果是邻域像素值之和的平均值,还是邻域像素值之和。 以 5×5 的邻域为例,在进行方框滤波时,如果计算的是邻域像素值的均值,则滤波关系如图 1-1 所示。如果计算的是邻域像素值之和,则滤波关系如图 1-2 所示。图1-1 方框滤波关系示例–计算邻域像素值均值图1-2.原创 2021-11-24 13:07:18 · 11797 阅读 · 1 评论 -
均值滤波(Mean filtering)
1.概念介绍 均值滤波是典型的线性滤波算法,是指用当前像素点周围 n*n个像素值的均值来代替当前像素值。使用该方法遍历处理图像内的每一个像素点,即可完成整幅图像的均值滤波。2.基本原理 如图2-1,我们希望对第5行第5列的像素点进行均值滤波。首先需要考虑需要对周围多少个像素点去取平均值。通常情况下,我们会以该当前像素为中心,对行数和列数相等的一块区域内的所有像素点的像素取平均值。 例如,我们可以以当前像素点的像素周围33区域内所有像素点的像素取平均值,也可以对周围55区域内所有像素点的像素值取平均.原创 2021-11-22 01:16:09 · 50516 阅读 · 8 评论 -
OpenCV图像的按位逻辑运算
1.基本介绍逻辑运算是一种非常重要的运算方式,图像处理过程中经常要按照位进行逻辑运算,OpenCV中常见的按位逻辑运算函数如下表:函数名基本含义cv2.bitwise_and()按位与cv2.bitwise_or()按位或cv2.bitwise_xor()按位异或cv2.bitwise_not()按位取反...原创 2021-10-13 11:25:07 · 3550 阅读 · 0 评论 -
OpenCV获取图像属性
1.基本介绍在图像处理过程中,经常需要获取图像的属性,如下介绍几个常用的属性。shape:如果是彩色图像,获取图像的形状,返回包含行数、列数、通道数的数组;如果是二值图像或者灰度图像,则仅返回行数和列数。通过该属性的返回值是否包含通道数,可以判断一幅图像是灰度图像(或二值图像)还是彩色图像。size:返回图像的像素数目。其值为“行×列×通道数”,灰度图像或者二值图像的通道 数为 1。 dtype:返回图像的数据类型。2.程序样例import cv2color=cv2.imread("l.原创 2021-10-12 09:31:14 · 1568 阅读 · 0 评论 -
OpenCV的图像通道操作
1.基本介绍在OpenCV中,图像通道是按照 B 通道→G 通道→R 通道的顺序存储的。在图像处理过程中,可以根据需要对通道进行拆分和合并。2.通道拆分对于RGB图像,可以索引的方式或者函数的方式分别拆出其RGB通道。b = img[ : , : , 0 ]g = img[ : , : , 1 ]r = img[ : , : , 2 ]2.1通过索引拆分import cv2lena=cv2.imread("lena_color.jpg")cv2.imshow("lena彩色原图.原创 2021-10-12 09:15:49 · 4698 阅读 · 0 评论 -
OpenCV的图像加法运算
1.基本介绍 图像的加法运算是将一幅图像的内容叠加在另一幅图像上,或者给图像的每一个像素加一个常数来改变图像的亮度。 可以通过加号运算符“+”对图像进行加法运算,也可以通过 cv2.add()函数对图像进行加法运算。通常情况下,在灰度图像中,像素用 8 个比特位(一个字节)来表示,像素值的范围是[0,255]。两个像素值在进行加法运算时,求得的和很可能超过 255。但上述两种不同的加法运算方式,对超过 255 的数值的处理方式是不一样的。2.加号运算符使用加号运算符“+”对图像 a和 b进行求和运.原创 2021-10-11 17:07:23 · 6865 阅读 · 0 评论 -
图像处理基本操作
1.读取图像 OpenCV 提供了函数 cv2.imread()来读取图像,该函数支持各种静态图像格式。该函数的语法格式为:retval = cv2.imread( filename[, flags] )import cv2lena=cv2.imread("Lenacolor.jpg")print(lena)上述程序首先会读取当前目录下的图像Lenacolor.jpg,然后使用 print 语句打印读取的图像数据。...原创 2021-10-11 00:15:27 · 542 阅读 · 1 评论 -
图像的基本表示方法
1.图像的起源1.1 图像是什么 图像是人类对视觉感知的物质再现,是自然景物的客观反映,是人类认识世界和人类本身的重要源泉。“图”是物体反射或透射光的分布,“像“是人的视觉系统所接受的图在人脑中所形版的印象或认识。1.2 模拟图像和数字图像1.2.1 起源模拟图像: 1826年前后法国科学家Joseph Nicéphore Niépce发明了第一张可永久保存的照片,属于模拟图像。模拟图像又称连续图像,它通过某种物理量(如光、电等)的强弱变化来记录图像亮度信息,所以是连续变换的。模拟信号的特点.原创 2021-10-06 20:35:05 · 3645 阅读 · 0 评论 -
OpenCV简介
1. OpenCV简介 OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库,是由Intel公司俄罗斯团队发起并参与和维护,支持与计算机视觉和机器学习相关的众多算法,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,该程序库也可以使用英特尔公司的IPP进行加速处理。1.1 OpenCV的优势:编程语言OpenCV基于C++实现,同时提供pyth.原创 2021-10-04 20:46:21 · 19574 阅读 · 1 评论 -
基于Python和OpenCV实现图像的全景拼接
基本介绍图像的全景拼接,即为“缝合”两张具有重叠区域的图来创建一张全景图。其中用到了计算机视觉和图像处理技术有:关键点检测、局部不变特征、关键点匹配、RANSAC(Random Sample Consensus,随机采样一致性)和透视变形。具体步骤(1)检测左右两张图像的SIFT关键特征点,并提取局部不变特征 ;(2)使用knnMatch检测来自右图(左图)的SIFT特征,与左图(右图)进行匹配 ;(3)计算视角变换矩阵H,用变换矩阵H对右图进行扭曲变换;(4)将左图(右图)加入到变换后的图像.原创 2021-10-02 13:10:03 · 9237 阅读 · 9 评论 -
基于opencv+python的角度测量
import cv2 # 导入opencvimport math # 导入math库,计算角度时需要path = './Angle Finder/background.png' # 测试样图相对路径image = cv2.imread(path) # 读入图片pointsList = [] # 创建一个点列表用于存储鼠标左键单击点的坐标# 定义鼠标点函数,参数为事件、点坐标的x和y值、标志、参数def mo原创 2021-09-22 00:04:48 · 2513 阅读 · 0 评论 -
Tesseract-OCR 下载安装和使用
一.简介Tesseract是一个 由HP实验室开发 由Google维护的开源的光学字符识别(OCR)引擎,可以在 Apache 2.0 许可下获得。它可以直接使用,或者(对于程序员)使用 API 从图像中提取输入,包括手写的或打印的文本与Microsoft Office Document Imaging(MODI)相比,我们可以不断的训练的库,使图像转换文本的能力不断增强;训练的大致流程:安装jTessBoxEditor -> 获取样本文件 -> Merge样本文件 –> 生成.原创 2021-09-20 13:29:18 · 33028 阅读 · 11 评论