Image processing 从同一物体的两幅图像以两种分辨率扫描来获取微观和宏观信息的图像构造

Image processing 从同一物体的两幅图像以两种分辨率扫描来获取微观和宏观信息的图像构造,image-processing,image-stitching,Image Processing,Image Stitching,我用两倍放大率扫描了扫描电镜图像,与此相似。我想把它们合并成一张图像,这样我就可以在小尺度和大尺度上获得关于毛孔的信息。 我想知道如何使用python或Matlab从这些2D切片创建单个图像。您可以使用Matlab示例: %读取图像。 I1=rgb2gray(imread('macro.png')); I2=rgb2gray(imread('micro.png')); %重用MATLAB示例。 原始=I1; 畸变=I2; %从原始图像和变换后的图像中检测和提取特征。 %(使用更多的倍频程和音阶,

我用两倍放大率扫描了扫描电镜图像,与此相似。我想把它们合并成一张图像,这样我就可以在小尺度和大尺度上获得关于毛孔的信息。 我想知道如何使用python或Matlab从这些2D切片创建单个图像。

您可以使用Matlab示例:

%读取图像。
I1=rgb2gray(imread('macro.png'));
I2=rgb2gray(imread('micro.png'));
%重用MATLAB示例。
原始=I1;
畸变=I2;
%从原始图像和变换后的图像中检测和提取特征。
%(使用更多的倍频程和音阶,并降低阈值以提高鲁棒性)。
ptsOriginal=detectSURFFeatures(原始'NumOctaves',5'NumScaleLevels',5'MetricThreshold',10);
ptsDistorted=检测特征(失真,'NumOctaves',5,'numscalelelevels',5,'MetricThreshold',10);
[featuresOriginal,validPtsOriginal]=提取特征(原始,ptsOriginal);
[featuresDistorted,validPtsDistorted]=提取特征(扭曲,ptsDistorted);
%匹配并显示图像之间的特征。
索引\u对=匹配特征(特征或原始特征、特征记录);
matchedPtsOriginal=validPtsOriginal(索引对(:,1));
matchedPtsDistorted=ValidPtsDistored(索引对(:,2));
图形
显示匹配特征(原始、扭曲、匹配或原始、匹配已还原)
标题(“与异常值匹配的冲浪点”);
%排除异常值,估计变换矩阵,并显示结果。
[tform,inlierptsdirected,inlierPtsOriginal]=估计几何变换(matchedptsdirected,matchedPtsOriginal,“相似性”);
图形
显示匹配的特征(原始、扭曲、inlierPtsOriginal、inlierPtsDistorted);
标题(“匹配的内部点”);
%从扭曲的图像中恢复原始图像。
outputView=imref2d(尺寸(原始));
Ir=imwarp(失真、tform、“输出视图”、“输出视图”);
图形imshow(Ir);
标题(“恢复图像”);
%想象一下。。。
imshowpair(原装,红外)

结果:

注:

我手动从图像中删除了文本。

您好,Rotem,谢谢您的回答。我真的很感激。只是一个小的要求,我想有一个单一的图像作为输出没有任何边界或高光。再次感谢。我回答的重点是(几何)匹配这两幅图像。可视化这对对象有太多的选项。请编辑您的问题,展示您的尝试,以及您的目标,我可能会找到解决方案。