文档

imregmtb

使用中值阈值位图注册2-D图像

语法

(R1, R2,…,Rn,shift] = imregmtb(M1,M2,...,Mn,F)

描述

例子

Rn R1、R2…,转变= imregmtb(M1, M2,…,MnF注册任意数量的移动图像M1, M2,…,Mn对于固定(参考)图像,F,使用中值阈值位图技术。已注册的映像将返回Rn R1、R2…,,并返回已注册图像的估计位移转变

中值阈值位图技术是有效的注册图像捕获与可变曝光。imregmtb只考虑平移,不考虑旋转或其他类型的几何变换。

例子

全部折叠

阅读一系列不同曝光的图片。

I1 = imread(“office_1.jpg”);I2 = imread(“office_2.jpg”);I3 = imread(“office_3.jpg”);I4 = imread(“office_4.jpg”);I5 = imread(“office_5.jpg”);I6 = imread(“office_6.jpg”);

这些图像是由固定摄像机拍摄的,场景中没有移动的物体。对于本例,通过在[- 30,30]像素范围内将每个图像水平和垂直平移随机量来模拟相机运动或抖动。将所有五个移动图像的平移值存储在5 × 2矩阵中t.指定第六幅图像,16,作为固定(或参考)图像。不要将抖动应用于此图像。

T = randi([-30 30],5,2);I1 = imtranslate(I1,t(1,:));I2 = imtranslate(I2,t(2,:));I3 = imtranslate(I3,t(3,:));I4 = imtranslate(I4,t(4,:));I5 = imtranslate(I5,t(5,:));

要比较图像位置,请从每张图像的中心显示感兴趣区域(ROI)。向量roi指定了x- - -y-坐标的左上角,以及ROI的宽度和高度。

ROI = [140 260 200 200];蒙太奇({imcrop (I1, roi) imcrop (I2 roi) imcrop (I3, roi),...imcrop(预告,roi), imcrop (I5 roi) imcrop (16, roi)})标题(“错位的图像”

使用中值阈值位图注册空间移位的图像。从每个图像的中心显示一个ROI。

[R1,R2,R3,R4,R5,shift] = imregmtb(I1,I2,I3,I4,I5,I6);蒙太奇({imcrop (R1 roi) imcrop (R2, roi) imcrop (R3, roi),...imcrop (R4, roi), imcrop (R5, roi) imcrop (16, roi)})标题(“注册图像”

这些图像看起来对齐得很好。

检查估计的位移,转变,每个运动图像相对于固定图像。转变表示必须应用于运动图像以使其与固定图像对齐的估计转换。

转变
改变=5×2-26 25 -25 14 23 -3 -25 -28 -8 -28

将估计位移与实际位移进行比较。回想一下变换t应用于固定图像,模拟每个运动图像的抖动。因此,变换- t与返回的变换相似吗转变

- t
ans =5×219 25 -25 14 23 -3 -25 -28 -8 -28

imregmtb函数很好地估计了每一帧的位移。

输入参数

全部折叠

运动图像,指定为一系列具有相同曝光或可变曝光的灰度图像或RGB图像。映像必须具有相同的大小和数据类型。

数据类型:||uint8|uint16

固定图像,指定为灰度图像或RGB图像。F必须具有与移动图像相同的大小和数据类型,M1, M2,…,Mn

数据类型:||uint8|uint16

输出参数

全部折叠

注册图像,返回为一系列灰度图像或RGB图像。注册图像与运动图像具有相同的大小和数据类型,M1, M2,…,Mn

在水平和垂直方向上的估计位移n已注册的图像,返回为n-by-2数值矩阵。

参考文献

[1] Reinhard, E., W. Heidrich, P. Debevec, S. Pattanaik, G. Ward, K. Myszkowski。高动态范围成像,第二版。旧金山,加州:摩根考夫曼出版公司,2010年,第155-170页。

在R2018a中引入

这个话题有用吗?