
图像处理100问
文章平均质量分 56
为提升图像处理能力,理解图像处理算法,想坚持完成100题常用图像处理常见问题,坚持自己动手实践。
田纳尔多
今天不学习,明天变垃圾!
展开
-
问题三十五:傅立叶变换——带通滤波
问题三十五:傅立叶变换——带通滤波原创 2023-03-03 17:09:58 · 1880 阅读 · 1 评论 -
问题三十四:傅立叶变换——高通滤波
问题三十四:傅立叶变换——高通滤波原创 2023-03-02 11:40:24 · 1172 阅读 · 0 评论 -
问题三十三:傅立叶变换——低通滤波
问题三十三:傅立叶变换——低通滤波原创 2023-03-01 22:01:34 · 1110 阅读 · 0 评论 -
问题三十二:离散二维傅立叶变换(Discrete Fourier Transformation)
离散二维傅立叶变换(Discrete Fourier Transformation)原创 2023-03-01 21:55:26 · 742 阅读 · 0 评论 -
问题三十一:仿射变换(Afine Transformations)——倾斜
问题三十一:仿射变换(Afine Transformations)——倾斜原创 2023-03-01 21:37:06 · 377 阅读 · 0 评论 -
问题三十:仿射变换( Afine Transformations )——旋转
问题三十:仿射变换( Afine Transformations )——旋转原创 2023-03-01 21:32:26 · 389 阅读 · 0 评论 -
问题二十九:仿射变换( Afine Transformations )——放大缩小
问题二十九:仿射变换( Afine Transformations )——放大缩小原创 2023-03-01 21:27:53 · 473 阅读 · 0 评论 -
问题二十八:仿射变换( Afine Transformations )——平行移动
问题二十八:仿射变换( Afine Transformations )——平行移动原创 2023-03-01 21:24:39 · 233 阅读 · 0 评论 -
挑战图像处理100问(27)——双三次插值
双三次插值原创 2023-03-01 21:18:41 · 636 阅读 · 0 评论 -
挑战图像处理100问(26)——双线性插值
双线性插值原创 2023-03-01 00:33:59 · 316 阅读 · 0 评论 -
挑战图像处理100问(25)——最近邻插值
最近邻插值原创 2023-03-01 00:25:29 · 567 阅读 · 0 评论 -
挑战图像处理100问(24)——伽玛校正
伽玛校正原创 2023-03-01 00:13:02 · 741 阅读 · 0 评论 -
挑战图像处理100问(23)——直方图均衡化
直方图均衡化( Histogram Equalization )直方图均衡化是使直方图变得平坦的操作,是不需要计算上面的问题中的平均值、标准差等数据使直方图的值变得均衡的操作。直方图均衡化保证在图像像素映射过程中原来的大小关系保持不变,即较亮的区域依旧较亮,较暗的依旧较暗,只是对比度增加,不能明暗颠倒;保证像素映射函数的值域在0和255之间。按照以下步骤对像素值进行处理:对图像中的像素...原创 2020-04-16 22:36:25 · 482 阅读 · 3 评论 -
挑战图像处理100问(22)——直方图平坦化
最近这几问。。。无脑操作。直方图平坦化让直方图的平均值m0=128m_0=128m0=128,标准差s0=52s_0=52s0=52吧!这里并不是变更直方图的动态范围,而是让直方图变得平坦。可以使用下式将平均值为mmm标准差为sss的直方图变成平均值为m0m_0m0标准差为s0s_0s0的直方图:xout=s0s (xin−m)+m0x_{out}=\frac{s...原创 2020-04-16 22:19:34 · 726 阅读 · 4 评论 -
挑战图像处理100问(21)——直方图归一化
直方图归一化( Histogram Normalization )有时直方图会偏向一边。比如说,数据集中在000处(左侧)的图像全体会偏暗,数据集中在255255255处(右侧)的图像会偏亮。如果直方图有所偏向,那么其动态范围( dynamic range )就会较低。为了使人能更清楚地看见图片,让直方图归一化、平坦化是十分必要的。这种归一化直方图的操作被称作灰度变换(Grayscal...原创 2020-04-16 22:08:42 · 4377 阅读 · 3 评论 -
挑战图像处理100问(20)——灰度直方图
关于灰度直方图灰度直方图是反映一幅图像中各灰度级像素出现的频率与灰度级的关系,以灰度级为横坐标,频率为纵坐标,绘制频率同灰度级的关系图像就是一幅灰度图像的直方图。简单地说,就是把一幅图像中每一个像素出现的次数都先统计出来,然后把每一个像素出现的次数除以总的像素个数,得到的就是这个像素出现的频率,然后再把像素与该像素出现的频率用图表示出来,就是灰度直方图。代码实现import numpy ...原创 2020-04-16 21:51:39 · 1410 阅读 · 2 评论 -
挑战图像处理100问(19)——LoG滤波器
LoG滤波器LoG即高斯-拉普拉斯(Laplacian of Gaussian)的缩写,使用高斯滤波器使图像平滑化之后再使用拉普拉斯滤波器使图像的轮廓更加清晰。为了防止拉普拉斯滤波器计算二次微分会使得图像噪声更加明显,所以我们首先使用高斯滤波器来抑制噪声。LoG 滤波器使用以下式子定义:LoG(x,y)=x2+y2−s22 π s6 e−x2+y22&nb...原创 2020-04-14 00:07:45 · 2436 阅读 · 7 评论 -
挑战图像处理100问(18)——Emboss滤波器
Emboss滤波器Emboss滤波器可以使物体轮廓更加清晰,按照以下式子定义:K=[−2−10−111012]K=\left[\begin{matrix}-2&-1&0\\-1&1&1\\0&1&2\end{matrix}\right]K=⎣⎡−2−10−111012⎦⎤代码实现import cv2 # 我只用它...原创 2020-04-13 23:30:26 · 955 阅读 · 5 评论 -
挑战图像处理100问(17)——拉普拉斯滤波器
拉普拉斯滤波Laplacian滤波器是对图像亮度进行二次微分从而检测边缘的滤波器。由于数字图像是离散的,xxx方向和yyy方向的一次微分分别按照以下式子计算:Ix(x,y)=I(x+1,y)−I(x,y)(x+1)−x=I(x+1,y)−I(x,y)Iy(x,y)=I(x,y+1)−I(x,y)(y+1)−y=I(x,y+1)−I(x,y)I_x(x,y)=\frac{I(x+1,y)-I...原创 2020-04-13 23:10:32 · 9085 阅读 · 3 评论 -
挑战图像处理100问(16)——Prewitt滤波器
Prewitt滤波器Author: Tian YJPrewitt是一种常用的检测图像边缘的滤波器,它分为横向和纵向算子,分别用于检测纵向和横向的边缘(注意:横向形式的滤波器检测图像的纵向边缘,纵向形式的滤波器检测图像的横向边缘)。纵向:K=[−1−1−1000111]K=\left[\begin{matrix}-1&-1&-1\\0&0&0\\1...原创 2020-04-13 17:58:34 · 985 阅读 · 2 评论 -
挑战图像处理100问(15)——Sobel滤波器
Author:Tian YJSobel滤波器Sobel算子是一种典型的用于边缘检测的线性滤波器,它基于两个简单的3*3内核,滤波器按下式定义:纵向:K=[121000−1−2−1]K=\left[\begin{matrix}1&2&1\\0&0&0\\-1&-2&-1\end{matrix}\right]K=⎣⎡10−1...原创 2020-04-13 17:35:35 · 2365 阅读 · 2 评论 -
挑战图像处理100问(14)——差分滤波器
差分滤波器(Differential Filter)Author: Tian YJ原图如下:差分滤波器对图像亮度急剧变化的边缘有提取效果,可以获得邻接像素的差值。纵向:(用于提取图像的水平线条)K=[0−10010000]K=\left[\begin{matrix}0&-1&0\\0&1&0\\0&0&0\end{matri...原创 2020-04-10 13:37:37 · 2354 阅读 · 3 评论 -
挑战图像处理100问(13)——MAX-MIN滤波
Max_Min FilterAuthor: Tian YJ原图如下:MAX-MIN滤波器使用网格内像素的最大值和最小值的差值对网格内像素重新赋值。通常用于边缘检测。边缘检测用于检测图像中的线。像这样提取图像中的信息的操作被称为特征提取。边缘检测通常在灰度图像上进行。代码实现# -*- coding: utf-8 -*-"""Created on Thu Apr 9 14:3...原创 2020-04-09 22:51:26 · 1192 阅读 · 2 评论 -
挑战图像处理100问(12)——运动模糊滤波
读取图像,使用运动模糊滤波器来对加了噪声的图片进行降噪处理。Author: Tian YJ原图如下:Motion Filter取对角线方向的像素的平均值,像下式这样定义:[130001300013]\left[\begin{matrix}\frac{1}{3}&0&0\\0&\frac{1}{3}&0\\0 & 0& \fr...原创 2020-04-09 22:44:02 · 999 阅读 · 5 评论 -
挑战图像处理100问(11)——均值滤波
读取图像,使用均值滤波器来对加了噪声的图片进行降噪处理。Author: Tian YJ原图如下:均值滤波器使用网格内像素的平均值。参考代码实现# -*- coding: utf-8 -*-"""Created on Thu Apr 9 13:40:39 2020@author: Tian YJ"""import cv2 # 我只用它来做图像读写和绘图,没调用它的其它...原创 2020-04-09 22:37:59 · 450 阅读 · 0 评论 -
挑战图像处理100问(10)——中值滤波
读取图像,使用中值滤波器来对加了噪声的图片进行降噪处理。Author: Tian YJ原图如下:中值滤波器是一种可以使图像平滑的滤波器。这种滤波器用滤波器范围内(在这里是3×33\times33×3)像素点的中值进行滤波。代码实现# -*- coding: utf-8 -*-"""Created on Thu Apr 9 08:54:47 2020@author: Tia...原创 2020-04-09 22:37:30 · 356 阅读 · 0 评论 -
挑战图像处理100问(9)——高斯滤波
读取图像,使用高斯滤波器(3×33\times33×3大小,标准差σ=1.3\sigma=1.3σ=1.3)来对加了噪声的图片进行降噪处理。Author: Tian YJ原图如下:关于高斯滤波高斯滤波器是一种可以使图像平滑的滤波器,用于去除噪声。可用于去除噪声的滤波器还有中值滤波器(参见问题十),平滑滤波器(参见问题十一)、LoG滤波器(参见问题十九)。高斯滤波器将中心像素周围的像素...原创 2020-04-09 17:00:01 · 1381 阅读 · 4 评论 -
挑战图像处理100问(8)——最大池化
读取图像,对图像作最大池化处理。原图如下:关于最大池化将图片按照固定大小网格分割,网格内的像素值取网格内所有像素的最大值。我们将这种把图片使用均等大小网格分割,并求网格内代表值的操作称为池化(Pooling)。池化操作是**卷积神经网络(Convolutional Neural Network)**中重要的图像处理方式。最大池化按照下式定义:v=max(vi),(i=1,2,......原创 2020-04-08 21:37:34 · 1017 阅读 · 0 评论 -
挑战图像处理100问(7)——平均池化
读取图像,对图像作平均池化处理。原图如下:关于平均池化将图片按照固定大小网格分割,网格内的像素值取网格内所有像素的平均值。我们将这种把图片使用均等大小网格分割,并求网格内代表值的操作称为池化(Pooling)。池化操作是 卷积神经网络(Convolutional Neural Network) 中重要的图像处理方式。平均池化按照下式定义:v=1∣R∣ ∑i=1R ...原创 2020-04-08 21:16:54 · 951 阅读 · 2 评论 -
挑战图像处理100问(6)——减色处理
读取图像,对图像进行减色处理。Author: Tian YJ原图如下:关于减色处理我们将图像的值由2563256^32563压缩至434^343,即将RGB\text{RGB}RGB的值只取{32,96,160,224}\{32, 96, 160, 224\}{32,96,160,224}。这被称作色彩量化。色彩的值按照下面的方式定义:val={32(0≤var<64)96(6...原创 2020-04-08 20:54:25 · 390 阅读 · 4 评论 -
挑战图像处理100问(5)——HSV变换及色相反转
读取图像,使用HSV\text{HSV}HSV表示色彩的图像的色相反转。Author: Tian YJ原图如下:关于HSVHSV\text{HSV}HSV即使用色相(Hue)、饱和度(Saturation)、明度(Value)来表示色彩的一种方式。色相:将颜色使用0∘0^{\circ}0∘到360∘360^{\circ}360∘表示,就是平常所说的颜色名称,如红色、蓝色。色相与数...原创 2020-04-08 12:10:37 · 1445 阅读 · 0 评论 -
挑战图像处理100问(4)——Otsu
读取图像,然后将彩色图像用Otsu算法进行二值化。Author: Tian YJ原图如下:关于Otsu算法Ostu算法是灰度图像的自动阈值分割。发明人是个日本人,叫做Nobuyuki Otsu (大津展之),所以此算法也被称大津二值化法。它是一种基于全局的二值化算法,它是根据图像的灰度特性,将图像分为前景和背景两个部分。当取最佳國值时,两部分之间的差别应该是最大的,在Otsu算法中所采...原创 2020-04-07 22:08:52 · 1167 阅读 · 2 评论 -
挑战图像处理100问(3)——二值化
读取图像,然后将彩色图像进行二值化(Thresholding)。二值化是将图像使用黑和白两种颜色表示的方法。我们将灰度的阈值设置为128128128来进行二值化,即:y={0(ify<128)255(else)y=\begin{cases}0& (\text{if}\quad y < 128) \\255& (\text{else})\end{case...原创 2020-04-07 21:45:26 · 413 阅读 · 0 评论 -
挑战图像处理100问(2)——灰度化
读取图像,然后将彩色图像进行灰度化。Author: Tian YJ原图如下:关于灰度图灰度图像上每个像素的颜色值又称为灰度,指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0。所谓灰度值是指色彩的浓淡程度,灰度直方图是指一幅数字图像中,对应每一个灰度值统计出具有该灰度值的象素数。灰度就是没有色彩,RGB色彩分量全部相等。如果是一个二值灰度图象,它的象素值只能为0或...原创 2020-04-07 00:17:05 · 1023 阅读 · 2 评论 -
挑战图像处理100问(1)——通道交换
读取图像,然后将RGB\text{RGB}RGB通道替换成BGR\text{BGR}BGR通道。注意,cv2.imread() 的系数是按BGR\text{BGR}BGR顺序排列的!实现代码"""AUTHOR: Tian YJCREATE: 2020-4-15FUNCTION: RGB -> BGR"""import cv2# 设置路径path_work = 'C...原创 2020-04-05 23:59:45 · 707 阅读 · 3 评论