Advertisement
soaheb

I am writing a program that passes TCP data to a server that

Mar 9th, 2014
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. def TCPfin(self,imgprevstr):
  2.         timenow = datetime.now() #get current time
  3.        
  4.         #quick
  5.         splitimgprevstr = imgprevstr.split(',',11)
  6.         splitimgdata = splitimgprevstr[11] #qstring with 540000 chars
  7.         imgwidth = int(splitimgprevstr[9])
  8.         imgheight = int(splitimgprevstr[10])
  9.        
  10.         rgbArray = np.zeros((imgwidth,imgheight,3), 'uint8')
  11.         #slow from here        
  12.  
  13.         for ih in range(0,imgheight,1): # takes around 220ms per loop (3 loops for the 3 RGB channels
  14.             for iw in range(0,imgwidth,1):                
  15.                 curpixelR = splitimgdata.mid(iw*6+ih*imgwidth*6, 2) #get a pair of chars from the qstring
  16.                 rgbArray[iw,ih,0] = (curpixelR.toInt(16))[0] #convert the ascii hex qstring into an int
  17.  
  18.         for ih in range(0,imgheight,1):
  19.             for iw in range(2,imgwidth,1):                
  20.                 curpixelG = splitimgdata.mid(iw*6+ih*imgwidth*6, 2)
  21.                 rgbArray[iw,ih,1] = (curpixelG.toInt(16))[0]
  22.  
  23.         for ih in range(0,imgheight,1):
  24.             for iw in range(4,imgwidth,1):                
  25.                 curpixelB = splitimgdata.mid(iw*6+ih*imgwidth*6, 2)
  26.                 rgbArray[iw,ih,2] = (curpixelB.toInt(16))[0]                
  27.        
  28.     #Total execution time 656ms
  29.     # quick
  30.     fintime = self.millis(timenow)
  31.     print fintime    
  32.         previmg = Image.fromarray(rgbArray)        
  33.         previmg = previmg.rotate(90)
  34.                
  35.        
  36.        
  37.         self.parent.slot_testcall(previmg) #image sent to GUI module to update screen
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement