rgb2 = self.yuv2rgb(y2, u, v) row.append(rgb2) rgb.append(row) #convert rgblist of tuples of (r,g,b) to array rgbArr = np.asarray(rgb) #convert array to image and save img = im.fromarray(np.uint8(rgbArr)) # YOU CAN USE img TO DISPLAY ANYWHERE I THINK! #img.save('img.png') #just saved to test out... return img def yuv2rgb(self, y, u, v): c = y - 16 d = u - 128 e = v - 128 R = (298 * c) + (409 * e) + 128 G = (298 * c) - (100 * d) - (208 * e) + 128 B = (298 * c) + (516 * d) + 128 R >>= 8 G >>= 8 B >>= 8 return (self.clip(R), self.clip(G), self.clip(B)) def clip(self,v): v = max(v, 0) v = min(v, 255) return v test = MainWindow(readFSM.getBGHfsm(), sys.argv[1], sys.argv[2])
#unhighlight old current state self.stateB[fsm][self.currentIndex[fsm]].config(background="white") #highlight new current state as red self.stateB[fsm][stateIndex].config(background="red") #set new current states self.currentState[fsm] = stateName self.currentIndex[fsm] = stateIndex else: print "ERROR: UNKNOWN STATE" def shm2string(self, shm): #for every element of shm array, convert to char #concatenate to full string return "".join([chr(int(i)) for i in shm]) def shm2array(self, shm): #make string into array of floats #state names recognized in shared memory this way array = [] for c in shm: i = ord(c) array.append(i) print array return array test = fsmDisplay(readFSM.getBGHfsm(), sys.argv[1], sys.argv[2])
row.append(rgb1) rgb2 = self.yuv2rgb(y2, u, v) row.append(rgb2) rgb.append(row) #convert rgblist of tuples of (r,g,b) to array rgbArr = np.asarray(rgb) #convert array to image and save img = im.fromarray(np.uint8(rgbArr)) # YOU CAN USE img TO DISPLAY ANYWHERE I THINK! #img.save('img.png') #just saved to test out... return img def yuv2rgb(self, y, u, v): c = y - 16 d = u - 128 e = v - 128 R = (298 * c) + (409 * e) + 128 G = (298 * c) - (100 * d) - (208 * e) + 128 B = (298 * c) + (516 * d) + 128 R >>= 8 G >>= 8 B >>= 8 return (self.clip(R), self.clip(G), self.clip(B)) def clip(self, v): v = max(v, 0) v = min(v, 255) return v test = MainWindow(readFSM.getBGHfsm(), sys.argv[1], sys.argv[2])