小结:本文主要介绍基于相位相关法的图像配准。
1. 相位相关法
在时域中信号的平移运动可以通过在频域中相位的变化表现出来(这是傅里叶变换的特性,见下图)。平移不影响傅氏变换的幅值(谱),对应的幅值谱和原图像是一样的。旋转在傅氏变换中是小变量。根据傅氏变换的旋转特性,旋转一幅图,在频域相当于对这幅图的傅氏变换做相同的旋转。使用频域方法的好处是计算简单,速度快(可使用MIT的fftw库),同时傅立叶变换可以采用方法提高执行的速度。因此,傅氏变换是图像配准中常用的方法之一。下面我们就具体分析当图像发生平移、旋转和缩放时,图像信号在频域中的表现。
2. 相位相关法原理解析
通过求取互功率谱的傅立叶反变换,得到一个狄拉克函数(脉冲函数),再寻找函数峰值点对应的坐标,即可得到我们所要求得的配准点。实际上,在计算机处理中,连续域要用离散域代替,这使得狄拉克函数转化为离散时间单位冲击函数序列的形式。在实际运算中,两幅图像互功率谱相位的反变换,总是含有一个相关峰值代表两幅图像的配准点,和一些非相关峰值,相关峰值直接反映两幅图像间的一致程度。更精确的讲,相关峰的能量对应重叠区域的所占百分比,非相关峰对应非重叠区域所占百分比。由此我们可以看出,当两幅图像重叠区域较小时,采用本方法就不能检测出两幅图像的平移量。
3. 合理的配准情况
当图像间仅存在平移时,正确的配准图像如图a所示(中心平移化了),最大峰的位置就是两图像的相对平移量,反之若不存在单纯的平移,则会出现如b所示的情况(多脉冲林立)。
4. 配准样例(拼接)
输入图像:(注意:输入图像的大小需一致)
结果(错误):
OpneCV库函数实现 :
X方向的偏移 : -1.23519, Y方向的偏移 : 56.5204
若进行裁剪后进行配准
裁剪后图像:
结果:
OpneCV库函数实现 :
X方向的偏移 : -0.931136, Y方向的偏移 : -12.9924
配准后的图像:
cv::Mat srcImg = cv::imread("D:\\Data\\ITKData\\BrainProtonDensitySlice.png", 0);
cv::Mat srcImg1 = imread("D:\\Data\\ITKData\\1.png", 0);
cv::Mat srcImg2 = imread("D:\\Data\\ITKData\\2.png", 0);
int roiHeight = srcImg1.rows / 2.;
int roiWidth = srcImg1.cols - 1;
cv::Mat roiImg1 = srcImg1(cv::Rect(0, srcImg1.rows - roiHeight, roiWidth, roiHeight));
std::cout << "roiImg1 " << roiImg1.rows << " , " << roiImg1.cols << std::endl;
cv::imwrite("D:\\roiImg1.png", roiImg1);
cv::Mat roiImg2 = srcImg2(cv::Rect(0, 0, roiWidth, roiHeight));
std::cout << "roiImg2 " << roiImg2.rows << " , " << roiImg2.cols << std::endl;
cv::imwrite("D:\\roiImg2.png", roiImg2);
cv::Mat dst1, dst2;
roiImg1.convertTo(dst1, CV_32FC1);
roiImg2.convertTo(dst2, CV_32FC1);
Point2d phase_shift;
phase_shift = phaseCorrelate(dst1, dst2);
cout << "OpneCV库函数实现 :" << endl << "\tX方向的偏移 : " << phase_shift.x << ",\tY方向的偏移 : " << phase_shift.y << endl;
cv::Mat dstImg;
cv::copyMakeBorder(roiImg1, dstImg, 0, roiImg2.rows, 0, roiImg2.cols, cv::BORDER_ISOLATED, cv::Scalar(0));
cv::imshow("dstImg", dstImg);
roiImg2.copyTo(dstImg(cv::Rect(1, 13, roiImg2.cols, roiImg2.rows)));
cv::imwrite("D:\\dstImg2.png", dstImg);
waitKey(0);
参考链接:https://blog.csdn.net/ebowtang/article/details/51287309