图像里的老套路,RGB 转灰度算是最基本的一步了。用 MATLAB 做的话,多人第一时间想到的就是rgb2gray
。但说实话,想自定义点转换逻辑?mrgb2gray
才是更灵活的选择,挺适合做一些高级的。
mrgb2gray 函数除了支持标准的加权平均法(0.299、0.587、0.114 那套),还能自定义算法,改权重,甚至搞亮度、对比度的细节调控,做预的时候用它还挺方便。
用法也简单,直接一行:
grayImage = mrgb2gray(rgbImage, method, params);
前两个参数挺常见,那个params
嘛,根据你选的method
传不同参数就行。灵活得,想调细节基本靠它。实际场景像图像压缩、机器学习训练前的灰度化预、特征提取啥的,用这个函数都挺顺手的,节省不少事。关键它还能直接看源码,方便你二次改造。
如果你对 MATLAB 图像感兴趣,建议你下个mrgb2gray.zip
来研究下源码结构和文档,了解怎么封装自己的函数,也能顺带提升你的 MATLAB 技能。