🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: sci.image.processing
1 messages
1 total messages Started by Cristy Wed, 16 Dec 1992 16:37
SUMMARY: Ultra-Fast 90 Degree Image Rotation for Very Large Images
#825
Author: Cristy
Date: Wed, 16 Dec 1992 16:37
48 lines
2251 bytes
>  Could you please enquire on the network whether some body has a fast
>  algorithm for rotating by 90 degrees very very large monochrome or
>  multichannel images. The problem is nontrivial and probably can be
>  handled by exchanging in and out of a limited size buffer that can be
>  stored in high speed memory. I have an urgent need for this if we can
>  find one.

I got two useful replies.

1.  From eddins@eecs.uic, bamberg%trane.eecs.wsu.edu, and haim@utdallas.edu:
  
    Well, there might be something around that's newer and faster, but
    consider:
     
    J. O. Eklundh, "A Fast Computer Method for Matrix Transposing,"  IEEE
    Transactions on Computers, C-21 (July 1972), 801-903.
     
    This method is described in:
     
    D. E. Dudgeon and R. M. Mersereau, Multidimensional Digital Signal
    Processing, Prentice-Hall, New Jersey, 1984.
   
2.  From pfk@hpux.rz.uni-jena.de:

    I know a solution working in this way (C-Notation):
     
    #define MAXX    16384
    #define MAXY    16384
    #define MAXB      512  /* MAXB*MAXX*(Bytes_per_Pixel) should be smaller
                              than the main memory. I.e. This is an example
                              for 16 MB RAM and 8 bits per pixel. */
     
    static unsigned char buffer[MAXY][MAXB], buffero[MAXY];
    register i, j, k;
     
    for (i=0; i<MAXX; i+=MAXB)
      { for (j=0; j<MAXY; j++)
          lseek(fdin,j*MAXX+i,SEEK_SET),
          read(fdin,buffer[j],MAXB);
        for (j=0; j<MAXB; j++)
          { for (k=0; k<MAXY; k++)
              buffero[k]=buffer[k][j];
            write(fdout,buffero,MAXY);
          }
      }
     
-- 
cristy@dupont.com
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads