十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
OpenCV中什么万达平台搭建论坛:haozbbs.com Q1446595067 是重映射就不赘述了,主要是对源码中map_x,map_y有些疑惑,图像是如何进行重映射的呢?
宁县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
上下变换的部分源码:
Mat map_x, map_y;
map_x.create(srcimg.size(), CV_32FC1);
map_y.create(srcimg.size(), CV_32FC1);
for (int i=0;i(i, j) = static_cast(j);
map_y.at(i, j) = static_cast(srcimg.rows- i);
}
}
开始看老半天不理解重映射原理,后来把map_x,map_y内的值输入后,大概知道了。
假设对一张10*10的图片进行上下重映射,
根据 map_x.at
根据 map_y.at
输出map_x,map_y:
map_x:
map_y:
我们可以看到,在x方向从左到右逐渐增大排列,在y方向上到下减小排列,
将map_y,map_x组合,以坐标形式输出,则结果为
而原图的坐标为:
对比发现,原图坐标和map_y,map_x组合坐标发生了上下翻转。
然后根据坐标,把原图坐标对应的像素点一一映射到转换图上,就是上下翻转变换后的图像,这也是图片重映射的原理
其他的变换应该同理。