View difference between Paste ID: WjVDnAt5 and B7DjF427
SHOW: | | - or go back to the newest paste.
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