gpt4 book ai didi

c# - 在Emgu + OpenCV中处理带有多个子图像的图像的最佳方法?

转载 作者:行者123 更新时间:2023-12-02 16:40:59 28 4
gpt4 key购买 nike

我正在使用Emgu和OpenCV的C#应用​​程序,它们都是2.9.0版。我是OpenCV / Emgu的初学者,我需要一些帮助来使我前进。

我有一个包含多个子图像的大图像。每个子图像都包含许多区域,需要使用OpenCV以不同的方式对其进行处理。

大图像每秒更新几次。我打算使用pInvoke和memcpy更新大图像的位图。为了避免多次复制操作,我希望子图像与大图像共享像素数据,因此当大图像更新时,它们会自动获取新的像素数据。

子图像将在多个并行线程中同时处理。

我需要知道的是组织大型图像与要处理的子图像和区域的最佳方法,这样我可以通过调用memcpy来更新像素,然后在不同线程上处理子图像中的区域。

最佳答案

您没有解释为什么要使用较大图像的子图像而不是几个经典图像,因此我认为这是有充分理由的。

我认为这样做的唯一方法是垂直堆叠子图像。实际上,OpenCV图像是逐行存储在内存中的,因此,使子图像与大图像共享像素数据同时能够有效处理子图像的唯一方法是,如果子图像和大图像具有相同的图像行。如果执行此操作,则可以使用Mat::rowRange()提取Mat类型的子图像,然后可以根据需要进行处理。

关于c# - 在Emgu + OpenCV中处理带有多个子图像的图像的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22268967/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com