对于影像科诊断查阅影像时希望将分段影像合并成一张影像,有助于更直观的观察病灶,
一幅图中总存在着一些独特的像素点,这些点我们可以认为就是这幅图的特征,即为特征点
- 解决尺度不变性问题,不同大小的图片获取到的特征是一样的
- 提取到的特征点要稳定,能被精确定位
可参考本系列文章:C#处理医学影像(三:基于漫水边界自动选取病灶范围的实现思路
根据算法原理得到如下结果:
Sobel算子:
其中直观区别是canny算子计算的结果清晰,但不连续,容易受噪点影响,而sobel算子线条相对柔和,连续性强。
⑤背景降噪
经过上述的一系列处理步骤后我们再次合并拼接:
Mat srcImg1 = imgList1[0]; Mat srcImg2 = imgList1[1]; Mat[] images = new Mat[] { srcImg1, srcImg2}; Stitcher stitcher = Stitcher.Create(Stitcher.Mode.Panorama; Mat pano = new Mat(; var status = stitcher.Stitch(images, pano; if (status != Stitcher.Status.OK { ShowMsg.Box("拼接异常(" + status.ToString( + ",请重试。", BoxType.Msg, 120, this; return; }
得到了正确的结果: