动态规划最佳缝合线查找(ImageStitching3)

更新时间:2023-05-19 05:41:53 阅读: 评论:0

动态规划最佳缝合线查找(ImageStitching3)
1. 存在的问题
之前最佳缝合线查找存在⼀定的问题:查找不到最⼩能量和的缝合线路径。举⼀个简单的例⼦如图1.1所⽰:
图1.1
如果从上⾄下求和选择最⼩能量函数,则选择的路径为蓝⾊,但是蓝⾊路径不是最⼩能量和路径。因为
从上⾄下只是考虑了下⼀步对于上⼀步的能量和最⼩,但是没有考虑到全局的能量和最⼩。上图中的最⼩能量和路径应该为红⾊。因此需要有⼀个新的思路求取最佳缝合线。
2. 新的思路
(也是OpenCV中缝合线查找思想):我们反过来对最⼩能量做选择,不在从多个像素中选择⼀个作为缝合线的延伸⽅向,⽽是从多个缝合线中选择⼀条最优的来连接当前点。思路如图2.1所⽰。
图2.1
如果存在3x3的能量矩阵,把第⼀⾏能量值作为三条最⼩能量和路径,那么能量化去向可以表⽰为如
图2.2所⽰。aimee allen
图2.2
算法步骤:
(1) 初始化。第⼀⾏作为第⼀步的最⼩能量和路径;
(2) 最⼩能量和迭代。依次遍历每⼀⾏,得到最⼩能量和路径来源的位置:左上、顶上、右上。在遍历的时候需要记录抵达每⼀⾏每⼀列的最⼩能量和向量,以及抵达每⾏每列路径来源的位置。假设左上(1)、顶上(2)、右上(3),供回溯时使⽤。
(3) 缝合线回溯。最后通过记录来源的位置矩阵从最后⼀⾏回溯缝合线。在X⽅向上,如果是1则减1,如果是3则加1,如果是2则不变,Y⽅向上减1。
3. 实验结果
jerry springer脱口秀
图3.1 重叠区域
图3.2 最佳缝合线与不同终点缝合线
图3.3 缝合线诱导融合4. C++代码
void OptimalSeam::DP_find_am(Mat I1, Mat I2, vector<int>& am_paths) {
Mat_<float> E;
// 能量函数的计算,参考image stitching 2
energy_function(I1, I2, E);
Mat_<uchar> control = Mat::zeros(E.size(), CV_8U);
Mat_<float> sum_cost = E.rowRange(0, 1);
for (int i = 1; i < E.rows; i++) {
float* E_ptr = E.ptr<float>(i);
Mat_<float> cost_tmp = sum_cost.clone();
疯狂英语杂志官网for (int j = 0; j < E.cols; j++) {
float min_e = sum_cost(0, j);
传达信息int c_x = 2;
pomp
hat怎么读语音if (j > 0 && min_e > sum_cost(0, j - 1)) {
min_e = sum_cost(0, j - 1);
c_x = 1;
}
if (j < E.cols - 1 && min_e > sum_cost(0, j + 1)) {
min_e = sum_cost(0, j + 1);
c_x = 3;
}
ccna是什么cost_tmp(0, j) = min_e + E_ptr[j];overalls
control(i, j) = c_x;
}
sum_cost = cost_tmp;
kevingarnett}
float minE = sum_cost(0, 0);
int end_x = 0;
for (int i = 0; i < ls; i++) {
if (sum_cost(0, i) < minE) {
end_x = i;
}
}
Point current_p(end_x, ws - 1), top_p(end_x, ws - 1);
am_paths.push_back(end_x);
请愿for (; top_p.y != 0; am_paths.push_back(top_p.x)) {
if (control(current_p) == 1) top_p.x--;
el if (control(current_p) == 3) top_p.x++;
top_p.y--;
current_p = top_p;
}
rever(am_paths.begin(), d());
}
5. 参考

本文发布于:2023-05-19 05:41:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/114170.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:能量   缝合线   路径   选择
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图