![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
matlab编程
文章平均质量分 89
DBzs
Hello World >> Change World >> Create World
展开
-
Matlab实现图像滤波(叁):高效的中值滤波
文章目录Matlab实现图像滤波(叁):高效的中值滤波0 背景介绍1 高效的中值滤波算法Step 1Step 2Step 3Step 4Step 5Step 6Step 7Step 8Step 92 算法的Matlab实现3 结果验证4 工程下载地址Matlab实现图像滤波(叁):高效的中值滤波0 背景介绍在Matlab实现图像滤波(贰)中介绍到了有关中值滤波的相关知识。基本思想是:用一个中值滤波器窗口依次遍历整个图像,在每个位置都计算得到一个中值,然后将这些值拼在一起就得到了中值滤波后的图像。中原创 2020-08-14 17:36:40 · 4094 阅读 · 4 评论 -
Matlab补齐位数
文章目录1 直接举例2 详解1 直接举例num2str(i, '%06d') 将i以10进制、6位宽度、用“0”补齐。例如num2str(11, ‘%06d’)的结果为0000112 详解在批量读入图像的时候,会遇到如下问题:图像的名称都是固定6位数字位宽,那么如何使用imread读入呢,这需要用到函数num2str,在matlab帮助手册中可见:点击formatSpec查看详情:故可以使用num2str(i, '%06d')的形式:for i = 1:100 img =原创 2020-06-13 16:52:36 · 3978 阅读 · 0 评论 -
Matlab实现图像滤波(贰):中值滤波、高效的中值滤波、带权重的中值滤波
文章目录1 中值滤波1.1 原理1.2 中值滤波对图像的影响1.3 函数编写1.4 主文件1.5 效果展示2 高效的中值滤波算法2.1 原理2.2 函数编写3 带权重的中值滤波3.1 原理3.2 函数编写3.3 主文件3.4 效果展示1 中值滤波1.1 原理顾名思义,取中值的滤波方法。如上图示,对于一个3*3大小的滤波器,每次取3*3大小范围内的中值赋值给当前像素。1.2 中值滤波对图像的影响如下图示,根据中值滤波器的定义:(a)单独的一个像素会被消除;(b)单独的一条线会被消除;(c)阶原创 2020-06-03 00:28:05 · 3833 阅读 · 0 评论 -
LocalOperation02_图像锐化:Laplace和USM两种方法
LocalOperation02_图像锐化:Laplace和USM两种方法文章目录LocalOperation02_图像锐化:Laplace和USM两种方法1 Laplace Filter 实现图像锐化1.1 算法步骤1.2 代码实现1.3 效果展示2 Unsharp Masking (USM) 实现图像锐化2.1 算法步骤2.2 代码实现2.3 效果展示3 两种方法比较4 Matlab工程下载1 Laplace Filter 实现图像锐化1.1 算法步骤(1)用拉普拉斯滤波器HLH_LHL滤波原原创 2020-05-25 23:51:29 · 1131 阅读 · 1 评论 -
Matlab自带图库及添加自己的图像
matlab自带图像存在在安装目录里面:D:\Program Files\MATLAB\R2019b\toolbox\images\imdata(视安装路径不同而不同):可以在matlab中直接使用:>> imshow(imread('coins.png'));可以通过自己往改目录中添加图像实现直接使用。例如lena图像已从matlab自带库中删除了:>> imshow(imread('lena.png'));则报错:Error using imread>原创 2020-05-25 22:25:54 · 17126 阅读 · 4 评论 -
LocalOperation01_图像滤波(壹):mean、gauss、laplace、prewitt、sobel
目录1 均值滤波1.1 原理1.2 函数编写2 高斯滤波2.1 原理2.2 函数编写3 laplace算子3.1 原理3.2 函数编写4 prewitt算子4.1 原理4.2 函数编写5 sobel算子5.1 原理5.2 函数编写6 滤波卷积实现convolutionM函数7 main.m文件8 效果展示9 源码下载1 均值滤波1.1 原理顾名思义,取平均值的滤波方法。如上图示,对于一个3*3大小的滤波器,每次取3*3大小范围内的平均值赋值给当前像素,特别注意,滤波器应该是归一化的,对于一个n*n原创 2020-05-19 22:55:25 · 551 阅读 · 0 评论 -
PointOperation07_Matlab实现灰度gray图线性直方图均衡(Linear Histogram Equalization)
目录1 计算原理2 代码实现3 效果展示4 源码下载1 计算原理通过直方图均衡,可以将图像像素的直方图(PDF)调整为均匀分布(uniform distribution),如图示:其中,h(i)h(i)h(i)为图像的直方图(PDF),H(i)为图像的累计直方图(CDF)H(i)为图像的累计直方图(CDF)H(i)为图像的累计直方图(CDF)记某像素点的值为p,对各像素点做以下操作:f(p)=⌊H(p)K−1HW+0.5⌋f(p) = \lfloor H(p)\dfrac{K - 1}{HW}原创 2020-05-16 19:57:53 · 240 阅读 · 0 评论 -
PointOperation06_Matlab实现灰度gray图ModifiedContrastAdjustment
目录1 计算原理2 代码实现3 效果展示4 源码下载1 计算原理和AutomaticContrastAdjustment相似,目的是将图像的一定范围内的灰度[a^low,a^high][\hat{a}_{low}, \hat{a}_{high}][a^low,a^high]映射(map)到区间[amin,amax][a_{min}, a_{max}][amin,amax],如下图示:首先计算分位数a^low\hat{a}_{low}a^low和a^high\hat{a}_{high}a^原创 2020-05-16 19:41:02 · 224 阅读 · 0 评论 -
PointOperation05_Matlab实现灰度gray图Automatic Contrast Adjustment
目录1 计算原理2 代码实现3 效果展示4 源码下载1 计算原理如下图示:Automatic Contrast Adjustment的目的是将图像的灰度范围从[alow,ahigh][a_{low}, a_{high}][alow,ahigh]线性拉伸/压缩到[amin,amax][a_{min}, a_{max}][amin,amax]。计算分为两步:找到图像中像素的最值;线性拉伸或压缩,记某像素点的值为p,对各像素点做以下操作:f(p)=amin+(a−alow)∗amax−a原创 2020-05-16 19:05:34 · 264 阅读 · 0 评论 -
PointOperation04_Matlab灰度gray图intensity windowing
目录1 计算原理2 代码实现3 效果展示4 源码下载1 计算原理一种 clamp 操作,然后将一定范围内的intensity线性拉伸到某个指定区间。记某像素点的值为p,对各像素点做以下操作:f(p)={ap<aMp−ab−aa≤p≤bMp>bf(p)=\begin{cases}a& {p < a}\\M\dfrac{p - a}{b - a} & {a \leq p \leq b}\\M& {p > b}\end{cases}f(p)=⎩⎪原创 2020-05-16 18:13:31 · 358 阅读 · 0 评论 -
PointOperation03_Matlab灰度gray图反色(inverting)
目录1 计算原理2 代码实现3 效果展示4 源码下载1 计算原理记图像各像素点的值为p,做以下操作:f(p)=amax−pf(p) = a_{max} - pf(p)=amax−p一般地,amax=255a_{max} = 255amax=255即可完成图像的反色操作。2 代码实现%% reading in the imageorgIMG = rgb2gray(imread("lena.jpg"));figure(1);subplot(1,2,1);imshow(orgIMG);原创 2020-05-16 17:47:16 · 735 阅读 · 0 评论 -
PointOperation02_Matlab灰度gray图clamp
目录1 计算原理2 代码实现3 效果展示4 源码下载1 计算原理对图像各像素点(i, j)做以下运算:记某像素点的值为p,则:f(p)={ap < abp > bf(p)=\begin{cases}a& \text{p < a}\\b& \text{p > b}\end{cases}f(p)={abp < ap > b则p被clamp在[a,b][a, b原创 2020-05-16 17:32:38 · 414 阅读 · 0 评论 -
PointOperation01_Matlab改变灰度gray图对比度和亮度
目录1 计算原理2 代码实现3 效果展示4 源码下载1 计算原理对图像各像素点(i, j)做以下运算:f(i,j)=a∗f(i,j)+bf(i, j) = a*f(i, j) + bf(i,j)=a∗f(i,j)+b则 aaa 改变的是对比度, bbb 改变的是亮度2 代码实现%% reading in the imageorgIMG = rgb2gray(imread("lena.jpg"));figure(1);subplot(1,2,1);imshow(orgIMG);titl原创 2020-05-16 17:17:44 · 583 阅读 · 0 评论 -
matlab中stem画图时去除火柴帽
1 问题描述在matlab中用stem画图时常常遇到这种问题,如图示:可以看到图像顶端有火柴帽,会影响图像的查看分析,那么怎样去除它呢?2 解决方法通过查找matlab的stem属性可知:找到控制火柴帽的地方:所以使用命令:x = 1:100;h = stem(x);h.Marker = 'none';绘制的图像为:可以看到火柴帽已成功去除啦!用此方法,还可以设置stem图的不同属性~...原创 2020-05-16 12:51:04 · 1992 阅读 · 0 评论 -
Matlab实现真彩RGB图直方图计算
1 计算原理真彩图有RGB三个通道,所以需要分开计算直方图。计算原理:统计各通道各亮度等级出现的频度。2 代码实现实现代码:%% Read in the imagelenaIMG = imread('lena512color.tiff');%% My histogram code% w = width, h = hight[w, h, ~] = size(lenaIMG);% Create a 1*256 D matrix, record the intensity valuehco原创 2020-05-15 12:20:19 · 2319 阅读 · 1 评论 -
Matlab实现灰度图gray直方图计算
1 计算原理灰度图只有一个通道,所以可以直接计算亮度直方图。计算原理:统计各亮度等级出现的频度。2 代码实现实现代码:%% Read in the imagelenaIMG = rgb2gray(imread('lena512color.tiff'));%% Using API% histogram(lenaIMG);% imhist(lenaIMG);%% My histogram code% w = width, h = hight[w, h] = size(lenaIMG)原创 2020-05-15 12:15:02 · 2839 阅读 · 0 评论 -
Matlab实现灰度图m*n分割
今天(5月7日)进行了第一次线上考试,开卷第一题就是编程题,出乎意料,想了一会儿先跳过做后面的,结果发现不能回退检查修改,所以开卷20分直接送走了…考后再做这道题,发现了很多问题,但最终也成功编写出了代码,作此总结。题目要求:编写一个函数,对输入的图像做2*2维分割,并返回图像的矩阵。个人答案:用matlab实现,首先编写主文件,read.m:img = imread("lena.jpg"...原创 2020-05-08 00:43:24 · 2661 阅读 · 0 评论