如下图所示,典型的现代法国圆号有大约23英尺的管材。在开始和结束时,油管是锥形的。在中间,管子是圆柱形的。
根据所按压的阀门杠杆,玩家可能会嗡嗡地进入9英尺到17英尺长的单个管道。对于一个个人项目,我想为这些不同的长度创建一个视觉插图。我用了一个延长杆,并得到了一些帮助,拍了几张照片。我的助手用的是手持电话。
我想用这些图片来做一个合成,让你直观地比较三个极点的长度。问题是这三张图片没有对齐,这使得创建一个准确的合成具有挑战性。
让我用一下
imshowpair
用图像A和B来说明我的意思。
看起来这两幅图像之间的区别是平移和小旋转。
为了实现我的目标,我首先需要让这三张图片彼此对齐。然后我可以裁剪它们并创建我的合成。
听起来像是一个图像配准和空间引用问题!
计划如下:
- 推断将图像B与图像a对齐的几何变换。
- 推断将图像C与图像a对齐的几何变换。
- 使用上面发现的变换,将图像B和C扭曲到与图像A相同的空间参考。
- 把这三张图片紧紧围绕着我,把杆子放在中间。
- 创建三个图像的合成。
我将使用图像处理工具箱和计算机视觉工具箱中的工具。
将图像B注册到图像A
将图像转换为灰度的配准过程。
在两个图像中使用SURF特征检测(来自计算机视觉工具箱)。
A_points = detectsurffatures (Ag);
B_points = detectsurffatures (Bg);
从检测到的特征点提取特征信息。
[A_features,A_valid_points] = extractFeatures(Ag,A_points);
[B_features,B_valid_points] = extractFeatures(Bg,B_points);
把两张图像的特征点匹配起来。
index_pairs_B_A = matchFeatures(A_features,B_features);
A_matched_points = A_valid_points(index_pairs_B_A(:,1));
B_matched_points = B_valid_points(index_pairs_B_A(:,2));
推断一个投影几何变换,将图像B与图像a对齐。
tform_B_A = estimateGeometricTransform(B_matched_points,A_matched_points,“射影”);
tform_B_A。T
1.0211 0.0346 0.0000 -0.0196 1.0139 0.0000 31.3027 47.2352 1.0000
将图像B与图像a对齐,特别注意
OutputView
选择
imwarp
;用于在图像A所占用的空间矩形内计算图像的扭曲结果。
A_ref = imref2d(size(Ag));
B_reg = imwarp(B, tform_B_A,“OutputView”, A_ref);
目视检查结果。
imshowpair (B_reg,“插值”,双线性的)
使用相同的过程将映像C注册到映像A
C_points = detectsurffatures (Cg);
[C_features,C_valid_points] = extractFeatures(Cg,C_points);
index_pairs_C_A = matchFeatures(A_features,C_features);
A_matched_points = A_valid_points(index_pairs_C_A(:,1));
C_matched_points = C_valid_points(index_pairs_C_A(:,2));
tform_C_A = estimateGeometricTransform(C_matched_points,A_matched_points,“射影”);
(C, tform_C_A,“OutputView”, A_ref);
imshowpair (C_reg,“插值”,双线性的)
将图像裁剪为一个公共矩形
现在图像A、B和C都已注册到图像A的空间引用,可以在相同位置使用相同的矩形裁剪它们。
B_reg_c = imcrop(B_reg,r);
C_reg_c = imcrop(C_reg,r);
制作一个平铺复合材料
最后,我会用
imtile
来制作可保存为JPEG文件的平铺合成图像。
ABC = imtile({B_reg_c,A_c,C_reg_c},...
“写成BackgroundColor”,“白色”);
这让我很惊讶,我可以把这个仪器放在我的腿上,它真的可以像右边图中的杆子一样长。
这种现代乐器并非起源于法国,所以
法国号
严格来说是用词不当。许多演奏者把这种乐器简称为琴
角,
这是国际号角协会的建议。然而,在美国,大多数不是管弦乐演奏家的人都会对这个术语感到困惑
角
,所以我使用
法国号
在这里。
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。