Problem with QImage and QPixmap
-
Hey! I am developing application which is using OpenCV for capturing and processing images from camera and Qt for displaying them.
I don't know exactly why but application suddenly started to crash without any traceback. I was developing it on WinXp with python27. It worked fine on Windows 7 and python26 but after installing python27 on that computer it started to crash with both pythons.
I was able to trace and extract code which causes the crash:
@from PySide.QtGui import QApplication,QImage, QPixmap
app = QApplication("test")
(w,h)=(400,400);
q_image = QImage("\255\0\0\0"(wh),
w,h,
QImage.Format_RGB32)
q_image.save('qimage.jpg','JPG')
pixmap=QPixmap(w,h)
pixmap.convertFromImage(q_image)
pixmap.save('qpixmap.jpg','JPG')
exit()
@
This is not working at all (crashes on q_image.save()). When I change (w,h) to (200,200) it is working ok, but resulting images are not something that I would expect - image data is corrupted. This application crashes both with PySide and PyQt4.
I am very new to Qt so there might be something that I am not doing, or doing it wrong. But it seems to me like a serious bug.
Please help me, because I don't know how to handle that problem. -
Thanks, it worked! I was using img.tostring() (from OpenCV), that is why I didn't think that it is going to be garbage collected and I didn't suspect that Qt is so smart to use the same memory instead of allocating and copying. Thanks again!