2024-09-27 23:26:51 发布
网友
rasbperiry pi中的imageproc模块非常高效,但是我不能使用opencv 由于与imageproc模块相关的图像类型不同。在
因此,我寻找一种方法来启用使用图像类型的opencv(cvmat用于cv,numpyarray用于cv2…)使用rasbperiry pi imageproc模块 提前谢谢
首先必须将imgproc输出转换为numpy.array。之后,您可以几乎直接使用带有cv2的数组。在
imgproc
numpy.array
cv2
如果我们假设您的imgproc图像在img中,那么:
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一起使用。在
img_array
如果这个崩溃(它不应该)与一个segfault(它真的不应该)出了严重的问题可能在imgproc。最好的猜测是img[x,y]指向由imgproc创建的图像的外部。为了调试这一点,让我们将命令分成更容易接受的部分。在
img[x,y]
在哪里坠毁?请注意,print语句对于所有平台上的segfaults并不完全可靠,但它表明代码至少已经运行了那么远。在
print
如果代码在访问img维度或像素时崩溃,则问题可能出在图像捕获代码中。如果您在问题中显示了一个最小的示例,则问题更容易调试。在
首先必须将
imgproc
输出转换为numpy.array
。之后,您可以几乎直接使用带有cv2
的数组。在如果我们假设您的
imgproc
图像在img
中,那么:不幸的是,在
imgproc
中没有更快的数据访问方法,您必须逐个执行。但是在这个缓慢的循环之后,您可以将img_array
直接与cv2
一起使用。在如果这个崩溃(它不应该)与一个segfault(它真的不应该)出了严重的问题可能在
^{pr2}$imgproc
。最好的猜测是img[x,y]
指向由imgproc
创建的图像的外部。为了调试这一点,让我们将命令分成更容易接受的部分。在在哪里坠毁?请注意,
print
语句对于所有平台上的segfaults并不完全可靠,但它表明代码至少已经运行了那么远。在如果代码在访问
img
维度或像素时崩溃,则问题可能出在图像捕获代码中。如果您在问题中显示了一个最小的示例,则问题更容易调试。在相关问题 更多 >
编程相关推荐