将rasbperiry pi的imageproc模块映像转换为(numpy array或cvmat)

2024-09-27 23:26:51 发布

您现在位置:Python中文网/ 问答频道 /正文

rasbperiry pi中的imageproc模块非常高效,但是我不能使用opencv 由于与imageproc模块相关的图像类型不同。在

因此,我寻找一种方法来启用使用图像类型的opencv(cvmat用于cv,numpyarray用于cv2…)使用rasbperiry pi imageproc模块 提前谢谢


Tags: 模块方法图像类型picv2opencvcv
1条回答
网友
1楼 · 发布于 2024-09-27 23:26:51

首先必须将imgproc输出转换为numpy.array。之后,您可以几乎直接使用带有cv2的数组。在

如果我们假设您的imgproc图像在img中,那么:

import numpy

img_array = numpy.array([ [ img[x,y] for x in range(img.width) ] for y in range(img.height) ] , dtype='uint8')

不幸的是,在imgproc中没有更快的数据访问方法,您必须逐个执行。但是在这个缓慢的循环之后,您可以将img_array直接与cv2一起使用。在


如果这个崩溃(它不应该)与一个segfault(它真的不应该)出了严重的问题可能在imgproc。最好的猜测是img[x,y]指向由imgproc创建的图像的外部。为了调试这一点,让我们将命令分成更容易接受的部分。在

^{pr2}$

在哪里坠毁?请注意,print语句对于所有平台上的segfaults并不完全可靠,但它表明代码至少已经运行了那么远。在

如果代码在访问img维度或像素时崩溃,则问题可能出在图像捕获代码中。如果您在问题中显示了一个最小的示例,则问题更容易调试。在

相关问题 更多 >

    热门问题