目录
1.1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件
1.matlab 中的函数
1.1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件
例:自定义求和函数
需要自定义一个 .m 的文件来存放函数
注意:函数名必须与文件名一致
调用函数的时候函数文件放在当前工作目录下面。
function [output]=func_name(input) %创建一个函数,input和output为可选
[] = func_name() %调用函数
help func_name %显示函数中的注释
open func_name %打开函数文件
注意:一个m文件可以写多个function,但是只有第一个能够在其他文件中调用,其余的函数只能在该文件中调用。
函数名要与主函数名一致
- 一般来说,matlab在调用函数时,会从工作路径(用来存放计算结果等的文件夹)搜索"(函数名称).m"这个文件,否则默认为未定义。而因为手动重命名或者其他原因更改了m文件名而没有同时修改函数名时,会出现这种情况。而用matlab保存时,如果文件名不一致,软件会提示更改
- 程序文件可以包含一个以上的功能代码。文件中的第一个函数(主函数)对其他文件中的函数可见,或者可以从命令行调用它。文件中的其他功能称为本地功能。本地功能只对同一文件中的其他功能可见。
- 记得save
其他定义方法参考:Matlab 定义函数的几种方法_海底小星星的博客-CSDN博客_matlab 函数
2 影像滤波 平滑 边缘侦测
2.1 图像处理中卷积的理解
对于原始图像的矩阵,将卷积内核的中心与需变换的原始图像的元素对其,做.*运算后相加,即为变换后的值。将原始图像中的每一个元素做此变换后得到新的图像。
平滑和边缘侦测都依赖于卷积,其不同主要在于卷积内核的不同,实际的内核更为复杂。
2.2 平滑与二维卷积函数conv2()
平滑与卷积
1. 模糊:在提取大目标之前,去除太小的细节。将目标内的小间断点连接起来
2.消除噪声:改善图像质量,降低干扰。
缺点在于会弱化边缘
图像的pixel不再变化(不同于提高解析度),而是通过平均的方式消除随机出现的噪点(noise),使得临近的像素内的强度相近。
可另外参考:图像的平滑处理_ReWz的博客-CSDN博客
边缘侦测
将周围像素做差距运算,如[1 0 -1;1 0 -1;1 0 -1]关注左右/对角线,[1 1 1;0 0 0;-1 -1 -1]关注上下(实际的kernel内核更复杂)最后得到边缘。
conv2()二维卷积函数
基本用法:
img_new=conv2(img_old,kernel,'same') %将img_old 以kernel内核卷积后生成同样大小的img_new
在使用前用double(img_old) 转换为double类型(数据类型转换,目前还不了解matlab的数据类型)
参考资料:【官方授权】【医学影像处理】4-[2018.10.11 Lesson4]Matlab函数应用与影像滤波-MATLAB程式設計與影像處理-卢家峰教授_哔哩哔哩_bilibili