通过 Opencv 混合两个图像
我想使用Opencv对齐两个不同尺寸的图像, 事实上,函数 cvAddWeighted 使我们能够组合或混合两个图像 尺寸相同,但不是我的情况! 所以如果有人知道如何实现这个功能,我需要帮助 考虑图像的不同尺寸,
谢谢 ym
I want to align two images of different sizes using Opencv,
Indeed the function cvAddWeighted enables us to combine or blend two images of
identical sizes which is not my case !
so I need a help if somebody knows how to implement this function with
considering the different sizes for images
thanks
y.m
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
首先,检查添加两个不同大小的图像。
另一种方法是使用较小图像的宽度/高度设置较大图像上的感兴趣区域(
cvSetImageROI()
将执行此操作),然后使用执行混合cvAddWeighted()。
您可以找到一些源代码来执行此操作 此处。
First, check Adding Two Images with Different Size.
Another way to do it would be to set the region of interested on the bigger image using the width/height of the smaller (
cvSetImageROI()
will do that), and then perform the blend withcvAddWeighted()
.You can find some source code to do that here.
我猜你有两个图像需要对齐。您还将获得一张图像需要替换的数量。
您可以创建一个新图像,其中包含位移后的两个图像。这意味着,它将是原始图像的高度+垂直位移,其宽度将是原始图像的宽度*2-水平位移。
然后您可以在此图像上设置 ROI 并复制图像。
I'm guessing you have two images that need to be aligned. You'll also have the amount one image needs to be displaced by.
You can create a new image that can contain both the images after being displaced. This means, it would be the height of the original image+vertical displacement and its width would be width of original*2-horizontal displacement.
Then you can set ROIs on this image and copy images.
您编写一个 Rect_from_Mat 函数,该函数返回 Rect(0, 0, img.rows, img.cols)。
然后:
请注意,“addWeighted”行将(间接)覆盖 img1 的图像数据。
You write a Rect_from_Mat function which returns Rect(0, 0, img.rows, img.cols).
Then:
Note that the 'addWeighted' line will (indirectly) overwrite img1's image data.