Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Opening .tiff geoimages consumes enormous memory
Forum Updated to NodeBB v4.3 + New Features

Opening .tiff geoimages consumes enormous memory

Scheduled Pinned Locked Moved Solved General and Desktop
40 Posts 5 Posters 5.2k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    john_hobbyist
    wrote on last edited by john_hobbyist
    #8

    I am trying opening the tiff with this command:

    QImageReader reader("/home/UbuntuUser/Desktop/UAV.tif");
    print(reader)
    

    but something is wrong... Any idea?

    update:

    File "code.py", line 547
        QImageReader reader("/home/UbuntuUser/Desktop/UAV.tif");
                     ^
    SyntaxError: invalid syntax
    
    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #9

      What does "but something is wrong" mean ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      2
      • mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by
        #10

        Hi
        That looks like c++ syntax but you are using python, right ?
        So is it not like
        r = QImageReader("/home/UbuntuUser/Desktop/UAV.tif")

        1 Reply Last reply
        3
        • J Offline
          J Offline
          john_hobbyist
          wrote on last edited by john_hobbyist
          #11
          This post is deleted!
          mrjjM 1 Reply Last reply
          0
          • J john_hobbyist

            This post is deleted!

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #12

            @john_hobbyist

            Hi
            Why this old version ?

            Anyway, what are you trying ?

            Building PyQT4 from source ?

            Also is there any reason you want to use the competing Qt binding from another company instead of the
            official support one called pyside2 ?
            https://pypi.org/project/PySide2/
            https://doc.qt.io/qtforpython/

            1 Reply Last reply
            2
            • J Offline
              J Offline
              john_hobbyist
              wrote on last edited by john_hobbyist
              #13

              @mrjj

              I don't know what goes wrong...

              I just try to handle large tiff images instead of using opencv (that makes my program realy slow) with QTimagereader

              Sorry, I didn't identify it was a competing company...just a result in google when tried to install PyQt4

              Ok, I will look at it.

              mrjjM 1 Reply Last reply
              0
              • J john_hobbyist

                @mrjj

                I don't know what goes wrong...

                I just try to handle large tiff images instead of using opencv (that makes my program realy slow) with QTimagereader

                Sorry, I didn't identify it was a competing company...just a result in google when tried to install PyQt4

                Ok, I will look at it.

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by mrjj
                #14

                @john_hobbyist
                Hi
                Np I just wondered why you want Qt4 version and build from the source when
                PyQt5 is there and seems to be installable directly.
                Also here is how to use it
                https://programtalk.com/python-examples/PyQt5.Qt.QImageReader/
                Do note none of them use setClipRect to load image in chunks but
                should be easy to add.

                1 Reply Last reply
                1
                • Christian EhrlicherC Offline
                  Christian EhrlicherC Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #15

                  QtImagrReader is for sure not the correct way to handle geotiff. Either use openCV or better gdal for such tasks.

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  J 1 Reply Last reply
                  2
                  • Christian EhrlicherC Christian Ehrlicher

                    QtImagrReader is for sure not the correct way to handle geotiff. Either use openCV or better gdal for such tasks.

                    J Offline
                    J Offline
                    john_hobbyist
                    wrote on last edited by
                    #16

                    @Christian-Ehrlicher

                    I am trying GDAL in order to print the image:

                    from osgeo import gdal
                    import sys
                    
                    ds = gdal.Open('UAV_image.tif')
                    print(ds)
                    

                    and I get this error:

                    <osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x7fb89062b840> >
                    

                    Any idea what I am missing here?

                    1 Reply Last reply
                    0
                    • Christian EhrlicherC Offline
                      Christian EhrlicherC Offline
                      Christian Ehrlicher
                      Lifetime Qt Champion
                      wrote on last edited by
                      #17

                      @john_hobbyist said in Opening .tiff geoimages consumes enormous memory:

                      Any idea what I am missing here?

                      Nothing. All is fine.

                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                      Visit the Qt Academy at https://academy.qt.io/catalog

                      1 Reply Last reply
                      2
                      • J Offline
                        J Offline
                        john_hobbyist
                        wrote on last edited by
                        #18

                        Why I cannot see the image?

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #19

                          The Python print function only print strings or a string representation of the object.

                          Check if GDAL provides a widget or equivalent for that.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          2
                          • J Offline
                            J Offline
                            john_hobbyist
                            wrote on last edited by john_hobbyist
                            #20

                            Ok, until now OpenCV requires ~24GB RAM, gdal does not work. Is there any QImageReader sample code to open the .tif? I am searching the google for this...nothing found.

                            mrjjM Christian EhrlicherC 2 Replies Last reply
                            0
                            • J john_hobbyist

                              Ok, until now OpenCV requires ~24GB RAM, gdal does not work. Is there any QImageReader sample code to open the .tif? I am searching the google for this...nothing found.

                              mrjjM Offline
                              mrjjM Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on last edited by
                              #21

                              @john_hobbyist
                              Hi
                              in what way did GDAL not work ?

                              Also, Mr @Christian-Ehrlicher made me realize that geotiff is a special tiff so
                              even QImageReader can read an image in sections. it might not really do what you want.

                              What do you need to do to this image ?

                              1 Reply Last reply
                              1
                              • J john_hobbyist

                                Ok, until now OpenCV requires ~24GB RAM, gdal does not work. Is there any QImageReader sample code to open the .tif? I am searching the google for this...nothing found.

                                Christian EhrlicherC Offline
                                Christian EhrlicherC Offline
                                Christian Ehrlicher
                                Lifetime Qt Champion
                                wrote on last edited by
                                #22

                                @john_hobbyist I wonder what you want to do with this image when you even don't know the basics of this format... it's a georeferenced image with multiple images and bands inside. It's not a simple picture at all.

                                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                Visit the Qt Academy at https://academy.qt.io/catalog

                                1 Reply Last reply
                                4
                                • J Offline
                                  J Offline
                                  john_hobbyist
                                  wrote on last edited by john_hobbyist
                                  #23

                                  @mrjj and @Christian-Ehrlicher:

                                  I want to open it and do some zooming with code I use. Also I want to read the coordinates from the image (I do not how, but I am searching it)

                                  mrjjM 1 Reply Last reply
                                  0
                                  • J john_hobbyist

                                    @mrjj and @Christian-Ehrlicher:

                                    I want to open it and do some zooming with code I use. Also I want to read the coordinates from the image (I do not how, but I am searching it)

                                    mrjjM Offline
                                    mrjjM Offline
                                    mrjj
                                    Lifetime Qt Champion
                                    wrote on last edited by JKSH
                                    #24

                                    @john_hobbyist
                                    Ok then QImageReader is not the way as it can't access any coordinates.

                                    I think you gave up on GDAL too fast. It's whats people seem to use.

                                    1 Reply Last reply
                                    1
                                    • J Offline
                                      J Offline
                                      john_hobbyist
                                      wrote on last edited by
                                      #25

                                      @mrjj: yes with

                                      gdalinfo
                                      

                                      command on the terminal I get the information I want...
                                      Is there any way to get these information from the terminal and feed it to my python code for further processing? In other words how do I read information posted in terminal and use it inside my python code?

                                      Ok, I will try again gdal to open the .tif

                                      mrjjM 1 Reply Last reply
                                      0
                                      • J john_hobbyist

                                        @mrjj: yes with

                                        gdalinfo
                                        

                                        command on the terminal I get the information I want...
                                        Is there any way to get these information from the terminal and feed it to my python code for further processing? In other words how do I read information posted in terminal and use it inside my python code?

                                        Ok, I will try again gdal to open the .tif

                                        mrjjM Offline
                                        mrjjM Offline
                                        mrjj
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #26

                                        @john_hobbyist
                                        Hi
                                        well yes, you could call gdalinfo with QProcess
                                        https://www.learnpyqt.com/tutorials/qprocess-external-programs/
                                        read the section with "Getting data from the QProcess"

                                        1 Reply Last reply
                                        1
                                        • J Offline
                                          J Offline
                                          john_hobbyist
                                          wrote on last edited by
                                          #27

                                          Hello,
                                          Ok I read it.

                                          What is wrong in this code, and I cannot run the command via python command:

                                          import sys
                                          import time
                                          
                                          def flush_then_wait():
                                              sys.stdout.flush()
                                              sys.stderr.flush()
                                              time.sleep(0.5)
                                          
                                          sys.stdout.write('gdalinfo UAV_image.tif')
                                          flush_then_wait()
                                          

                                          on the terminal I run gdalinfo UAV_image.tif and prints me the metadata of the .tif, but I cannot run it through the python script

                                          mrjjM 1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved