主要内容

imflatfield

二维图像平场校正

描述

例子

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

例子

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

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

例子

全部折叠

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

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

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

执行平场校正。

Sigma = 30;Iflatfield = imflatfield(I,sigma);

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

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

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

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

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

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

执行平场校正。

Sigma = 20;Iflatfield = imflatfield(I,sigma);

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

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

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

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

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

图中包含一个axes对象。标题为Image with Dark Corner的axes对象包含一个类型为Image的对象。

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

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

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

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

加载此图像的掩码。在最初的面具中,maskHand,分段手为感兴趣区域(ROI)。反转掩码,这样背景就是ROI。显示掩码,它以白色显示ROI。

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

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

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

iflatfiel2 = imflatfield(I,sigma,maskBackground);

显示校正后的图像。纠正了角落的阴影缺陷,手保持了原来的颜色。

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

图中包含一个axes对象。标题为F la t - F i e l d空白C o r 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

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

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

二进制掩码,指定为大小为2-D的数值或逻辑矩阵——- - - - - -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中介绍

另请参阅

|

Baidu
map