在wxpython中显示numpy ndarray

2024-09-29 22:21:22 发布

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

我想在wxpython中显示一个numpy-ndarray,但不知怎么的我无法让它工作。。。在

我的图像控制:

self.imageCtrl = wx.StaticBitmap(self.panel, wx.ID_ANY, wx.BitmapFromImage(img))

我的图像代码:

^{pr2}$

这将导致以下错误:

Traceback (most recent call last):
File "cropImagesAndLabel.py", line 114, in onStart
self.countUp()
File "cropImagesAndLabel.py", line 134, in countUp
self.crop()
File "cropImagesAndLabel.py", line 104, in crop
img = wx.ImageFromBuffer(self.pattern.shape[0], self.pattern.shape[1], self.pattern)
File "\Canopy\User\lib\site-packages\wx\_core.py", line 3598, in ImageFromBuffer
image = _core_._ImageFromBuffer(width, height, dataBuffer, alphaBuffer)
TypeError: expected a single-segment buffer object

如果有人能帮忙就太好了!在

谨致问候, 米


Tags: inpycore图像cropselfimgline
1条回答
网友
1楼 · 发布于 2024-09-29 22:21:22

cv2的图像实际上是一个ndarry,可以使用Matplotlib窗口来显示图像。您也可以将Matplotlib的窗口放在wxPython窗口中,将其作为参考:user_interfaces example code: embedding_in_wx2.py。请注意,上面的链接显示了如何使用plot函数显示图形。您可以使用self.axes.imshow(your_image)来显示图像。例如,可以通过以下语句构造一个黑色图像

your_image = np.zeros((512,512,3), 'uint8')

另外,您应该注意,在上面的链接中,matplotlib的后端设置为wxAgg,这意味着它使用wxPython作为绘图后端。在

相关问题 更多 >

    热门问题