Matching 2 .tiff images pixel-by-pixel
-
@SGaist : Yes.
-
@john_hobbyist said in Matching 2 .tiff images pixel-by-pixel:
required by /home/john/.local/lib/python3.8/site-packages/PySide2/QtCore.abi3.so)
This suggests that it's not the case.
-
@SGaist: So what should I do?
-
Cleanup your environment and use something like Python's virtualenv or conda to create local environments for your Python development where you can have exactly what you need.
-
Ok I have activated virtual environment and have installed everything from the beginning. This is the error I got, which I am trying to solve for many hours without any success....
QObject::moveToThread: Current thread (0x2b4f9a0) is not the object's thread (0x37b2280). Cannot move to target thread (0x2b4f9a0) qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/john/Desktop/venv/lib/python3.8/site-packages/cv2/qt/plugins" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl. Aborted (core dumped)Then I followed this solution: https://forum.qt.io/topic/125009/problem-with-qt-qpa-plugin-running-on-a-docker-in-kubuntu/18 and basically I installed these libraries (all with sudo):
pip3 install opencv-python-headless apt-get update ##[edited] apt-get install ffmpeg libsm6 libxext6 -y pip3 install matplotlib apt-get install python3-pyqt5 -y pip3 install pyqt5 pip3 install wheel pip3 install pandas pip3 install openpyxl pip3 install geopandas apt update -y apt install libpq-dev -y apt install gdal-bin -y apt install libgdal-dev -y pip3 install numba pip3 install GDAL apt-get install qt5-default -y pip3 install numpy ldd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so apt-get update -y apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev apt-get install -y libxcb-util-dev QT_DEBUG_PLUGINS=1and I now I am getting this error:
qt.qpa.xcb: could not connect to display :1.0 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb. Aborted (core dumped)Any idea???
-
Ok I have activated virtual environment and have installed everything from the beginning. This is the error I got, which I am trying to solve for many hours without any success....
QObject::moveToThread: Current thread (0x2b4f9a0) is not the object's thread (0x37b2280). Cannot move to target thread (0x2b4f9a0) qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/john/Desktop/venv/lib/python3.8/site-packages/cv2/qt/plugins" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl. Aborted (core dumped)Then I followed this solution: https://forum.qt.io/topic/125009/problem-with-qt-qpa-plugin-running-on-a-docker-in-kubuntu/18 and basically I installed these libraries (all with sudo):
pip3 install opencv-python-headless apt-get update ##[edited] apt-get install ffmpeg libsm6 libxext6 -y pip3 install matplotlib apt-get install python3-pyqt5 -y pip3 install pyqt5 pip3 install wheel pip3 install pandas pip3 install openpyxl pip3 install geopandas apt update -y apt install libpq-dev -y apt install gdal-bin -y apt install libgdal-dev -y pip3 install numba pip3 install GDAL apt-get install qt5-default -y pip3 install numpy ldd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so apt-get update -y apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev apt-get install -y libxcb-util-dev QT_DEBUG_PLUGINS=1and I now I am getting this error:
qt.qpa.xcb: could not connect to display :1.0 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb. Aborted (core dumped)Any idea???
-
@jsulm: Thank you!! You are awesome!!
I have this error:
File "code.py", line 231, in __init__ empty.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) TypeError: 'PySide2.QtWidgets.QWidget.setSizePolicy' called with wrong argument types: PySide2.QtWidgets.QWidget.setSizePolicy(Policy, Policy) Supported signatures: PySide2.QtWidgets.QWidget.setSizePolicy(PySide2.QtWidgets.QSizePolicy) PySide2.QtWidgets.QWidget.setSizePolicy(PySide2.QtWidgets.QSizePolicy.Policy, PySide2.QtWidgets.QSizePolicy.Policy)So, I changed this line:
empty.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)to this:
empty.setSizePolicy(PySide2.QtWidgets.QSizePolicy.Policy.Expanding, PySide2.QtWidgets.QSizePolicy.Policy.Expanding)And then I get this error:
File "code.py", line 234, in __init__ self.tb.addWidget(empty) TypeError: addWidget(self, QWidget): argument 1 has unexpected type 'PySide2.QtWidgets.QWidget'what I am supposed to do? If I fix the one, the other becomes bug and vice-versa.... I mean what should change here?
-
@jsulm: Thank you!! You are awesome!!
I have this error:
File "code.py", line 231, in __init__ empty.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) TypeError: 'PySide2.QtWidgets.QWidget.setSizePolicy' called with wrong argument types: PySide2.QtWidgets.QWidget.setSizePolicy(Policy, Policy) Supported signatures: PySide2.QtWidgets.QWidget.setSizePolicy(PySide2.QtWidgets.QSizePolicy) PySide2.QtWidgets.QWidget.setSizePolicy(PySide2.QtWidgets.QSizePolicy.Policy, PySide2.QtWidgets.QSizePolicy.Policy)So, I changed this line:
empty.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)to this:
empty.setSizePolicy(PySide2.QtWidgets.QSizePolicy.Policy.Expanding, PySide2.QtWidgets.QSizePolicy.Policy.Expanding)And then I get this error:
File "code.py", line 234, in __init__ self.tb.addWidget(empty) TypeError: addWidget(self, QWidget): argument 1 has unexpected type 'PySide2.QtWidgets.QWidget'what I am supposed to do? If I fix the one, the other becomes bug and vice-versa.... I mean what should change here?
@john_hobbyist said in Matching 2 .tiff images pixel-by-pixel:
self.tb
What is tb?
It would also be helpful if you would post the relevant code. -
. . . self.tb = QToolBar("File") print("101") empty = QWidget() # empty = PySide2.QtWidgets.QWidget() print("102") # empty.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) empty.setSizePolicy(PySide2.QtWidgets.QSizePolicy.Policy.Expanding, PySide2.QtWidgets.QSizePolicy.Policy.Expanding) print("103") self.tb.addWidget(empty) . . . -
Please provide a minimal runnable script that shows this error.
-
Could this be a problem of using PyQt and PySide2 on the same program? The rationale that I have followed is that I took the initial code that was running perfectly and I put the Qrubberband code and then I have those strange errors...How do I indicate to the code that in this method I want to use PyQt5 and in the other method I want to use PySide2?
UPDATE: I changed everything to PyQt5 and I deleted PySide2.... and the previously mentioned error appeared:
Traceback (most recent call last): File "code.4.py", line 195, in mouseMoveEvent rubberBand.setGeometry(QRect(origin, event.pos()).normalized()) NameError: name 'rubberBand' is not defined Aborted (core dumped)So I believe that the Qrubberband code posted by @SGaist needs PySide2 in order to function properly? Right?
-
There are some errors in the python document snippet that will be fixed.
Here's an example:
import sys from PySide2.QtCore import QRect from PySide2.QtCore import QSize from PySide2.QtWidgets import QWidget from PySide2.QtWidgets import QRubberBand from PySide2.QtWidgets import QApplication class Widget(QWidget): def __init__(self, parent=None): super().__init__(parent) self.rubberBand = None self.origin = None def mousePressEvent(self, event): self.origin = event.pos() if not self.rubberBand: self.rubberBand = QRubberBand(QRubberBand.Rectangle, self) self.rubberBand.setGeometry(QRect(self.origin, QSize())) self.rubberBand.show() def mouseMoveEvent(self, event): self.rubberBand.setGeometry(QRect(self.origin, event.pos()).normalized()) def mouseReleaseEvent(self, event): self.rubberBand.hide() # determine selection, for example using QRect.intersects() # and QRect.contains(). if __name__ == "__main__": app = QApplication(sys.argv) widget = Widget() widget.show() sys.exit(app.exec_())On a side note, it looks like you are a beginner with Python, I would recommend getting the basics first before going further.
This post is deleted! -
Could this be a problem of using PyQt and PySide2 on the same program? The rationale that I have followed is that I took the initial code that was running perfectly and I put the Qrubberband code and then I have those strange errors...How do I indicate to the code that in this method I want to use PyQt5 and in the other method I want to use PySide2?
UPDATE: I changed everything to PyQt5 and I deleted PySide2.... and the previously mentioned error appeared:
Traceback (most recent call last): File "code.4.py", line 195, in mouseMoveEvent rubberBand.setGeometry(QRect(origin, event.pos()).normalized()) NameError: name 'rubberBand' is not defined Aborted (core dumped)So I believe that the Qrubberband code posted by @SGaist needs PySide2 in order to function properly? Right?
@john_hobbyist said in Matching 2 .tiff images pixel-by-pixel:
So I believe that the Qrubberband code posted by @SGaist needs PySide2 in order to function properly? Right?
Wrong, you did not copy my code properly and missing a
self.in yours. -
@SGaist: Yes! You are absolutely right!! Thanks!!! I am looking at it...