- 博客(102)
- 资源 (4)
- 收藏
- 关注
原创 图像处理作业5——SIFT算法实现全景图像生成(Python实现)
前前后后花了差不多两周的时间,终于完成了最后一个图像处理大作业,由于自己太菜,这个作业属实有点难顶哦,不过还好成功实现并按时提交,为自己干杯,哈哈!本篇博客记录自己的学习笔记及过程,以备以后回味和复习。实验二 全景图像生成1. 实验思路2. 实验原理SIFT算法简介算法流程SIFT算法操作步骤1. 关键点检测1.1 哪些是SIFT中要查找的关键点(特征点)?1.2 什么是尺度空间(scal...
2020-05-04 15:46:16
5610
8
原创 应用连续高斯模糊后得到的σ是多少?
对图像应用多个连续的高斯模糊效果与应用单个较大的高斯模糊效果相同,后者的半径是实际应用的模糊半径的平方和的平方根。例如,应用半径为666和888的连续高斯模糊与应用半径为101010的单个高斯模糊产生的结果相同,因为62+82=10\sqrt{6^2+8^2} =1062+82=10。但是我找不到任何证据,为什么会这样呢?而且我还发现,在某些代码中,人们会考虑将两个连续的高斯模糊 σ1\s...
2020-05-02 22:07:25
612
5
原创 Pandas学习笔记——综合练习
Task06:综合练习(1天)Pandas基础一、2002 年——2018 年上海机动车拍照拍卖问题二、2007 年——2019 年俄罗斯机场货运航班运载量问题参考内容import numpy as npimport pandas as pd# 加上这两行可以一次性输出多个变量而不用printfrom IPython.core.interactiveshell import Inte...
2020-05-01 21:39:55
601
5
原创 Pandas学习笔记5——合并
Task05:合并(2天)Pandas基础合并一、append与assign1. append方法(a)利用序列添加行(必须指定name)(b)用DataFrame添加表2. assign方法该方法主要用于添加列,列名直接由参数指定:可以一次添加多个列:二、combine与update1. comine方法comine和update都是用于表的填充函数,可以根据某种规则填充(a)填充对象可以看...
2020-04-30 21:38:54
735
3
原创 Pandas学习笔记4——变形
Task04:变形(2天)Pandas基础变形一、透视表1. pivot一般状态下,数据在DataFrame会以压缩(stacked)状态存放,例如上面的Gender,两个类别被叠在一列中,pivot函数可将某一列作为新的cols:然而pivot函数具有很强的局限性,除了功能上较少之外,还不允许values中出现重复的行列索引对(pair),例如下面的语句就会报错:因此,更多的时候会选择使用强...
2020-04-28 17:35:39
1370
4
原创 Pandas学习笔记3——分组
Task03:分组(2天)Pandas基础关于分组groupby函数聚合、过滤和变换聚合(Aggregation)过滤(Filteration)变换(Transformation)apply练习练习一练习二参考内容关于分组对数据集进行分类,然后方便对每一组的数据进行统计分析。分组运算过程:split(分割)、apply(应用)、combine(合并)。切割:根据什么数据进行分组;应用...
2020-04-26 22:55:20
871
4
原创 Pandas学习笔记2——索引
Task02:索引(3天)Pandas基础单级索引loc方法、iloc方法、[]操作符loc方法iloc方法单级索引loc方法、iloc方法、[]操作符最常用的索引方法可能就是这三类,其中iloc表示位置索引,loc表示标签索引,[]也具有很大的便利性,各有特点。总结成一句话就是,行用loc,列用[],位置用iloc。loc方法loc的适用条件:只有在index 或者column 为...
2020-04-23 22:26:02
473
4
原创 关于matplotlib与opencv读取和显示图片
最近在做一个图像处理的大作业,涉及到matplotlib与OpenCV的一些图片读取与显示的问题,感觉非常有意思,需要把它彻底掌握理解,遂写一篇博客记录一下自己的学习笔记,以备遗忘时能迅速找回知识点。希望对自己CV的学习有一些帮助。好,我们开始吧。import cv2 # 利用opencv读取图像import numpy as npimport matplotlib.pyplot as ...
2020-04-22 22:41:58
2167
5
原创 挑战图像处理100问(23)——直方图均衡化
直方图均衡化( Histogram Equalization )直方图均衡化是使直方图变得平坦的操作,是不需要计算上面的问题中的平均值、标准差等数据使直方图的值变得均衡的操作。直方图均衡化保证在图像像素映射过程中原来的大小关系保持不变,即较亮的区域依旧较亮,较暗的依旧较暗,只是对比度增加,不能明暗颠倒;保证像素映射函数的值域在0和255之间。按照以下步骤对像素值进行处理:对图像中的像素...
2020-04-16 22:36:25
501
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
744
4
原创 挑战图像处理100问(21)——直方图归一化
直方图归一化( Histogram Normalization )有时直方图会偏向一边。比如说,数据集中在000处(左侧)的图像全体会偏暗,数据集中在255255255处(右侧)的图像会偏亮。如果直方图有所偏向,那么其动态范围( dynamic range )就会较低。为了使人能更清楚地看见图片,让直方图归一化、平坦化是十分必要的。这种归一化直方图的操作被称作灰度变换(Grayscal...
2020-04-16 22:08:42
4431
3
原创 挑战图像处理100问(20)——灰度直方图
关于灰度直方图灰度直方图是反映一幅图像中各灰度级像素出现的频率与灰度级的关系,以灰度级为横坐标,频率为纵坐标,绘制频率同灰度级的关系图像就是一幅灰度图像的直方图。简单地说,就是把一幅图像中每一个像素出现的次数都先统计出来,然后把每一个像素出现的次数除以总的像素个数,得到的就是这个像素出现的频率,然后再把像素与该像素出现的频率用图表示出来,就是灰度直方图。代码实现import numpy ...
2020-04-16 21:51:39
1439
2
原创 图像处理作业4——图像金字塔多尺度特征提取(改进版)
实验一 图像多尺度特征提取及特点分析姓名:Tian YJ语言:Python 3IDE:Jupyter Notebook题目要求:用手机或者相机拍摄图像,利用高斯金字塔和拉普拉斯金字塔提取图像多尺度特征,并总结各自特点。实现原理:1. 图像金字塔一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停...
2020-04-15 22:44:24
5534
7
原创 挑战图像处理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
2491
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
1003
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
9316
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
1019
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
2415
2
原创 图像处理作业4——图像金字塔多尺度特征提取(初始版)
关于高斯金字塔啥是图像金字塔一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。就像这样:它有什么作用图像金字塔是图像中多尺度表达的一种,最初用于机器视觉和图像压...
2020-04-12 20:50:23
4135
4
原创 挑战图像处理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
2441
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
1226
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
1021
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
468
原创 挑战图像处理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
369
原创 挑战图像处理100问(9)——高斯滤波
读取图像,使用高斯滤波器(3×33\times33×3大小,标准差σ=1.3\sigma=1.3σ=1.3)来对加了噪声的图片进行降噪处理。Author: Tian YJ原图如下:关于高斯滤波高斯滤波器是一种可以使图像平滑的滤波器,用于去除噪声。可用于去除噪声的滤波器还有中值滤波器(参见问题十),平滑滤波器(参见问题十一)、LoG滤波器(参见问题十九)。高斯滤波器将中心像素周围的像素...
2020-04-09 17:00:01
1408
4
原创 挑战图像处理100问(8)——最大池化
读取图像,对图像作最大池化处理。原图如下:关于最大池化将图片按照固定大小网格分割,网格内的像素值取网格内所有像素的最大值。我们将这种把图片使用均等大小网格分割,并求网格内代表值的操作称为池化(Pooling)。池化操作是**卷积神经网络(Convolutional Neural Network)**中重要的图像处理方式。最大池化按照下式定义:v=max(vi),(i=1,2,......
2020-04-08 21:37:34
1040
原创 挑战图像处理100问(7)——平均池化
读取图像,对图像作平均池化处理。原图如下:关于平均池化将图片按照固定大小网格分割,网格内的像素值取网格内所有像素的平均值。我们将这种把图片使用均等大小网格分割,并求网格内代表值的操作称为池化(Pooling)。池化操作是 卷积神经网络(Convolutional Neural Network) 中重要的图像处理方式。平均池化按照下式定义:v=1∣R∣ ∑i=1R ...
2020-04-08 21:16:54
1032
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
414
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
1502
原创 挑战图像处理100问(4)——Otsu
读取图像,然后将彩色图像用Otsu算法进行二值化。Author: Tian YJ原图如下:关于Otsu算法Ostu算法是灰度图像的自动阈值分割。发明人是个日本人,叫做Nobuyuki Otsu (大津展之),所以此算法也被称大津二值化法。它是一种基于全局的二值化算法,它是根据图像的灰度特性,将图像分为前景和背景两个部分。当取最佳國值时,两部分之间的差别应该是最大的,在Otsu算法中所采...
2020-04-07 22:08:52
1222
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
442
原创 挑战图像处理100问(2)——灰度化
读取图像,然后将彩色图像进行灰度化。Author: Tian YJ原图如下:关于灰度图灰度图像上每个像素的颜色值又称为灰度,指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0。所谓灰度值是指色彩的浓淡程度,灰度直方图是指一幅数字图像中,对应每一个灰度值统计出具有该灰度值的象素数。灰度就是没有色彩,RGB色彩分量全部相等。如果是一个二值灰度图象,它的象素值只能为0或...
2020-04-07 00:17:05
1049
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
734
3
原创 DataWhale《零基础入门数据挖掘》第五次打卡
第五次打卡(4月2日-4月4日)菜鸡的学习之路^__^(自己学习,复习使用)Task3:模型结果融合这是本次组对学习最后一次打卡,时间好快,第一次接触数据挖掘,从赛题理解–>EDA–>特征工程–>模型融合,自己体会了一把数据挖掘的从入门到放弃,感觉就是一个字“累”。但相比深度学习,它的可解释性确实就摆在这,无可厚非。通过此次学习也反映了自己先前的传统机器学习知识掌握得不太...
2020-04-04 22:20:54
445
2
原创 DataWhale《零基础入门数据挖掘》第四次打卡
第四次打卡(3月29日-4月1日)菜鸡的学习之路^__^(自己学习,复习使用)Task3:建模与调参4.1 相关内容(教程给的目录)线性回归模型:线性回归对于特征的要求;处理长尾分布;理解线性回归模型;模型性能验证:评价函数与目标函数;交叉验证方法;留一验证方法;针对时间序列问题的验证;绘制学习率曲线;绘制验证曲线;嵌入式特征选择:Lasso回归;Ridge回...
2020-04-01 20:13:56
438
1
原创 图像处理作业3-对图片进行卷积操作
Programming Assignment 3—卷积( Convolution)Author:Tian YJ编写卷积函数function Convolve(I, F, iw, ih, fw, fh),以备后面练习使用:a. I是一幅灰度图像,其分辨率是iw× ih.b. F 是一个滤波器(由浮点数构成的二维阵列),其大小是 fw× fh,通常 ( fh, fw ) << ...
2020-03-29 17:49:17
10094
4
原创 DataWhale《零基础入门数据挖掘》第三次打卡
第三次打卡(3月25日-3月28日)菜鸡的学习之路^__^(自己学习,复习使用)Task3:数据的特征工程(feature engineering)2.1 特征工程是干什么的将数据转换为更好滴表示潜在问题的特征,从而提高机器学习的性能。下图是来自群里一位大佬整理的阿泽大佬直播的内容:(通过此图可以对特征工程有一个很完整的认识,膜拜·~~)特征提取(feature extra...
2020-03-28 18:52:50
531
2
原创 图像处理作业2-对图片进行任意角度旋转
Programming Assignment 2Author:田杨军(1) 2D Rotation: Write a MATLAB function(rotate.m) that takes a set of points in 2D and an angle (in degrees) and returns a new set of points which have been rotate...
2020-03-27 23:39:24
1451
原创 图像处理作业1-双线性插值实现图片放缩
Programming Assignment 1Write a function “imresize” that gets the original image, original size, and target size as input and returns the output image at the target size using bilinear interpolation...
2020-03-25 13:27:41
610
原创 角度与弧度间的转换(Python实现)
角度–>弧度import mathmath.radians(x)弧度–>角度import mathmath.degrees(x)参考内容传送
2020-03-24 23:14:05
7441
1
SIFT提取特征进行全景图拼接
2020-05-04
浙江大学机器学习配套资源(胡老师).rar
2020-09-09
人脸识别与检测(Python实现).rar
2020-09-09
Fashion—Mnist数据集
2020-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人