主要内容

imflatfield

二维图像平场校正

描述

例子

J= imflatfield (σ对灰度或RGB图像进行平场校正.修正使用高斯平滑与标准偏差σ近似…的阴影部分.修正后的图像返回J

例子

J= imflatfield (σ面具应用平场校正图像只有二进制掩码所在的地方真正的.面具在哪里,输出图像J包含image的未修改值

J= imflatfield (___“FilterSize”,filterSize高斯平滑滤波器的大小。

例子

全部折叠

加载一个灰度图像。这张图片在左侧和右上角有严重的阴影失真。

I = imread(“printedtext.png”);imshow (I)标题(“扭曲的形象”

图中包含一个轴对象。标题为twisted Image的axes对象包含一个Image类型的对象。

执行平场校正。

σ = 30;平坦场=平坦场(I,sigma);

显示结果。校正后的图像亮度更均匀。

imshow (Iflatfield)标题(平场校正图像,\sigma =num2str(σ)])

图中包含一个轴对象。标题为F la t - F i e l d blank C o r r e C t e d blank image的轴对象,空白sigma blank =空白3 0包含一个图像类型的对象。

加载有渐晕或暗角的彩色图像。

I = imread(“fabric.png”);imshow (I)标题(“带晕影的图像”

图中包含一个轴对象。标题为Image with Vignetting的axis对象包含一个Image类型的对象。

执行平场校正。

Sigma = 20;平坦场=平坦场(I,sigma);

显示结果。校正后的图像亮度更均匀。

imshow (Iflatfield)标题(平场校正图像,\sigma =num2str(σ)])

图中包含一个轴对象。标题为F la t - F i e l d blank C o r r e C t e d blank image的轴对象,blank sigma blank = blank 20包含一个图像类型的对象。

加载一个彩色图像。此图像右下角有阴影缺陷。

I = imread(“hands1.jpg”);imshow (I)标题(“带有暗角的图像”

图中包含一个轴对象。带有Dark Corner Image标题的axes对象包含一个Image类型的对象。

尝试对整个图像应用平场校正。

σ = 25;Iflatfield = imflatfield(I,25);imshow (Iflatfield)标题(平场校正图像,\sigma =num2str(σ)])

图中包含一个轴对象。标题为F la t - F i e l d blank C o r r e C t e d blank image的轴对象,空白sigma blank =空白2 5包含一个图像类型的对象。

角落的阴影缺陷被纠正了,但是图像中心太亮,手变了颜色。为了避免这种增亮效果,只对图像的背景应用平场校正。

加载此图像的掩码。在最初的面具中,maskHand,分割后的手为感兴趣区域(ROI)。反转掩码,使背景是ROI。显示掩码,将ROI显示为白色。

maskHand = imread(“hands1-mask.png”);maskBackground = ~maskHand;imshow (maskBackground)标题(“背景面具”

图中包含一个轴对象。标题为Background Mask的axes对象包含一个图像类型的对象。

使用蒙版对图像的背景进行平场校正maskBackground.手不是掩模中感兴趣的区域,因此平场校正不会应用于手上的像素。

iflatfield d2 = imflatfield(I,sigma,maskBackground);

显示校正后的图像。角落的遮光缺陷得到了纠正,手也保持了原来的颜色。

imshow (Iflatfield2)标题(平场校正背景,\sigma =num2str(σ)])

图中包含一个轴对象。标题为F la t - F i e d空白C o r e C t e d空白B a C k g r o u n d的轴对象,空白sigma空白=空白2 5包含一个图像类型的对象。

输入参数

全部折叠

失真图像,指定为大小的二维灰度图像——- - - - - -n或大小的2-D RGB图像——- - - - - -n3。

数据类型:||int16|uint8|uint16

高斯平滑滤波器的标准偏差,指定为正数或2元素的正数向量。如果指定一个标量,则imflatfield使用平方高斯核。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

二进制掩码,指定为大小的二维数字或逻辑矩阵——- - - - - -n对于数字输入,任何非零像素都被认为是1真正的).

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

高斯滤波器的大小,指定为正奇数的标量或2元素向量。如果指定一个标量,则imflatfield使用方形滤镜。默认过滤器大小为2 *装天花板(2 *σ) + 1

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

校正后的图像,作为与输入图像相同大小和数据类型的二维灰度或RGB图像返回,

提示

  • 是RGB图像,那么imflatfield将图像转换为HSV颜色空间使用rgb2hsv并将平场校正应用于HSV值通道。图像被转换回RGB色彩空间使用hsv2rgb

  • 如果您指定面具,然后imflatfield在平场估计过程中,扩大掩模并填充图像边界以减少边缘伪影。

版本历史

在R2018b中引入

另请参阅

|