Python cv2.transpose() Examples
The following are 30
code examples of cv2.transpose().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
cv2
, or try the search function
.
Example #1
Source File: verification.py From insightface with MIT License | 6 votes |
def load_bin(path, image_size): try: with open(path, 'rb') as f: bins, issame_list = pickle.load(f) #py2 except UnicodeDecodeError as e: with open(path, 'rb') as f: bins, issame_list = pickle.load(f, encoding='bytes') #py3 data_list = [] for flip in [0,1]: data = nd.empty((len(issame_list)*2, 3, image_size[0], image_size[1])) data_list.append(data) for i in range(len(issame_list)*2): _bin = bins[i] img = mx.image.imdecode(_bin) if img.shape[1]!=image_size[0]: img = mx.image.resize_short(img, image_size[0]) img = nd.transpose(img, axes=(2, 0, 1)) for flip in [0,1]: if flip==1: img = mx.ndarray.flip(data=img, axis=2) data_list[flip][i][:] = img if i%1000==0: print('loading bin', i) print(data_list[0].shape) return (data_list, issame_list)
Example #2
Source File: verification.py From 1.FaceRecognition with MIT License | 6 votes |
def load_bin(path, image_size): bins, issame_list = pickle.load(open(path, 'rb')) data_list = [] for flip in [0,1]: data = nd.empty((len(issame_list)*2, 3, image_size[0], image_size[1])) data_list.append(data) for i in xrange(len(issame_list)*2): _bin = bins[i] img = mx.image.imdecode(_bin) if img.shape[1]!=image_size[0]: img = mx.image.resize_short(img, image_size[0]) img = nd.transpose(img, axes=(2, 0, 1)) for flip in [0,1]: if flip==1: img = mx.ndarray.flip(data=img, axis=2) data_list[flip][i][:] = img if i%1000==0: print('loading bin', i) print(data_list[0].shape) return (data_list, issame_list)
Example #3
Source File: verification.py From 1.FaceRecognition with MIT License | 6 votes |
def load_bin(path, image_size): try: with open(path, 'rb') as f: bins, issame_list = pickle.load(f) # py2 except UnicodeDecodeError as e: with open(path, 'rb') as f: bins, issame_list = pickle.load(f, encoding='bytes') # py3 data_list = [] for flip in [0, 1]: data = nd.empty((len(issame_list) * 2, 3, image_size[0], image_size[1])) data_list.append(data) for i in range(len(issame_list) * 2): _bin = bins[i] img = mx.image.imdecode(_bin) if img.shape[1] != image_size[0]: img = mx.image.resize_short(img, image_size[0]) img = nd.transpose(img, axes=(2, 0, 1)) for flip in [0, 1]: if flip == 1: img = mx.ndarray.flip(data=img, axis=2) data_list[flip][i][:] = img if i % 1000 == 0: print('loading bin', i) print(data_list[0].shape) return (data_list, issame_list)
Example #4
Source File: dataset.py From pytorch-planet-amazon with Apache License 2.0 | 6 votes |
def _centre_crop_and_transform(self, input_img, scale=1.0, trans=False, vflip=False, hflip=False): h, w = input_img.shape[:2] cx = w // 2 cy = h // 2 crop_w, crop_h = utils.calc_crop_size(self.img_size[0], self.img_size[1], scale=scale) input_img = utils.crop_center(input_img, cx, cy, crop_w, crop_h) if trans: input_img = cv2.transpose(input_img) if hflip or vflip: if hflip and vflip: c = -1 else: c = 0 if vflip else 1 input_img = cv2.flip(input_img, flipCode=c) if scale != 1.0: input_img = cv2.resize(input_img, self.img_size, interpolation=cv2.INTER_LINEAR) return input_img
Example #5
Source File: dataset.py From pytorch-planet-amazon with Apache License 2.0 | 6 votes |
def get_test_aug(factor): if not factor or factor == 1: return [ [False, False, False]] elif factor == 4: # transpose, v-flip, h-flip return [ [False, False, False], [False, False, True], [False, True, False], [True, True, True]] elif factor == 8: # return list of all combinations of flips and transpose return ((1 & np.arange(0, 8)[:, np.newaxis] // 2**np.arange(2, -1, -1)) > 0).tolist() else: print('Invalid augmentation factor') return [ [False, False, False]]
Example #6
Source File: verification.py From MaskInsightface with Apache License 2.0 | 6 votes |
def load_bin(path, image_size): bins, issame_list = pickle.load(open(path, 'rb'), encoding='bytes') data_list = [] for flip in [0,1]: data = nd.empty((len(issame_list)*2, 3, image_size[0], image_size[1])) data_list.append(data) for i in range(len(issame_list)*2): _bin = bins[i] img = mx.image.imdecode(_bin) img = nd.transpose(img, axes=(2, 0, 1)) for flip in [0,1]: if flip==1: img = mx.ndarray.flip(data=img, axis=2) data_list[flip][i][:] = img if i%1000==0: print('loading bin', i) print(data_list[0].shape) return (data_list, issame_list)
Example #7
Source File: aircv.py From Airtest with Apache License 2.0 | 6 votes |
def rotate(img, angle=90, clockwise=True): """ 函数使图片可顺时针或逆时针旋转90、180、270度. 默认clockwise=True:顺时针旋转 """ def count_clock_rotate(img): # 逆时针旋转90° rows, cols = img.shape[:2] rotate_img = np.zeros((cols, rows)) rotate_img = cv2.transpose(img) rotate_img = cv2.flip(rotate_img, 0) return rotate_img # 将角度旋转转化为逆时针旋转90°的次数: counter_rotate_time = (4 - angle / 90) % 4 if clockwise else (angle / 90) % 4 for i in range(int(counter_rotate_time)): img = count_clock_rotate(img) return img
Example #8
Source File: verification.py From insightface with MIT License | 6 votes |
def load_bin(path, image_size): bins, issame_list = pickle.load(open(path, 'rb')) data_list = [] for flip in [0,1]: data = nd.empty((len(issame_list)*2, 3, image_size[0], image_size[1])) data_list.append(data) for i in xrange(len(issame_list)*2): _bin = bins[i] img = mx.image.imdecode(_bin) if img.shape[1]!=image_size[0]: img = mx.image.resize_short(img, image_size[0]) img = nd.transpose(img, axes=(2, 0, 1)) for flip in [0,1]: if flip==1: img = mx.ndarray.flip(data=img, axis=2) data_list[flip][i][:] = img if i%1000==0: print('loading bin', i) print(data_list[0].shape) return (data_list, issame_list)
Example #9
Source File: preprocessing.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def cv2rotateimage(image, angle): """Efficient rotation if 90 degrees rotations, slow otherwise. Not a tensorflow function, using cv2 and scipy on numpy arrays. Args: image: a numpy array with shape [height, width, channels]. angle: the rotation angle in degrees in the range [-180, 180]. Returns: The rotated image. """ # Limit angle to [-180, 180] degrees. assert angle <= 180 and angle >= -180 if angle == 0: return image # Efficient rotations. if angle == -90: image = cv2.transpose(image) image = cv2.flip(image, 0) elif angle == 90: image = cv2.transpose(image) image = cv2.flip(image, 1) elif angle == 180 or angle == -180: image = cv2.flip(image, 0) image = cv2.flip(image, 1) else: # Slow rotation. image = ndimage.interpolation.rotate(image, 270) return image
Example #10
Source File: preprocessing.py From models with Apache License 2.0 | 5 votes |
def cv2rotateimage(image, angle): """Efficient rotation if 90 degrees rotations, slow otherwise. Not a tensorflow function, using cv2 and scipy on numpy arrays. Args: image: a numpy array with shape [height, width, channels]. angle: the rotation angle in degrees in the range [-180, 180]. Returns: The rotated image. """ # Limit angle to [-180, 180] degrees. assert angle <= 180 and angle >= -180 if angle == 0: return image # Efficient rotations. if angle == -90: image = cv2.transpose(image) image = cv2.flip(image, 0) elif angle == 90: image = cv2.transpose(image) image = cv2.flip(image, 1) elif angle == 180 or angle == -180: image = cv2.flip(image, 0) image = cv2.flip(image, 1) else: # Slow rotation. image = ndimage.interpolation.rotate(image, 270) return image
Example #11
Source File: preprocessing.py From object_detection_with_tensorflow with MIT License | 5 votes |
def cv2rotateimage(image, angle): """Efficient rotation if 90 degrees rotations, slow otherwise. Not a tensorflow function, using cv2 and scipy on numpy arrays. Args: image: a numpy array with shape [height, width, channels]. angle: the rotation angle in degrees in the range [-180, 180]. Returns: The rotated image. """ # Limit angle to [-180, 180] degrees. assert angle <= 180 and angle >= -180 if angle == 0: return image # Efficient rotations. if angle == -90: image = cv2.transpose(image) image = cv2.flip(image, 0) elif angle == 90: image = cv2.transpose(image) image = cv2.flip(image, 1) elif angle == 180 or angle == -180: image = cv2.flip(image, 0) image = cv2.flip(image, 1) else: # Slow rotation. image = ndimage.interpolation.rotate(image, 270) return image
Example #12
Source File: preprocessing.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def cv2rotateimage(image, angle): """Efficient rotation if 90 degrees rotations, slow otherwise. Not a tensorflow function, using cv2 and scipy on numpy arrays. Args: image: a numpy array with shape [height, width, channels]. angle: the rotation angle in degrees in the range [-180, 180]. Returns: The rotated image. """ # Limit angle to [-180, 180] degrees. assert angle <= 180 and angle >= -180 if angle == 0: return image # Efficient rotations. if angle == -90: image = cv2.transpose(image) image = cv2.flip(image, 0) elif angle == 90: image = cv2.transpose(image) image = cv2.flip(image, 1) elif angle == 180 or angle == -180: image = cv2.flip(image, 0) image = cv2.flip(image, 1) else: # Slow rotation. image = ndimage.interpolation.rotate(image, 270) return image
Example #13
Source File: transform.py From dataflow with Apache License 2.0 | 5 votes |
def apply_image(self, img): ret = cv2.transpose(img) if img.ndim == 3 and ret.ndim == 2: ret = ret[:, :, np.newaxis] return ret
Example #14
Source File: MorseDecoder.py From LSTM_morse with MIT License | 5 votes |
def infer_file2(model, filename): rate, alldata = wavfile.read(filename) chunk = int(4.0*rate) # process in 4 second chunks overlap = int(3.0*rate) #overlap 1 seconds N = int(len(alldata)/(chunk-overlap)) print(f"chunk:{chunk} N:{N}") for i in range(0, N): if i == 0: data = alldata[i*chunk:(i+1)*chunk] elif i > 0: data = alldata[i*chunk-i*overlap:(i+1)*chunk-i*overlap] time = (i*chunk-overlap)/rate arr2D, freqs, bins = get_specgram(data, rate) # Get the image data array shape (Freq bins, Time Steps) shape = arr2D.shape # Find the CW spectrum peak - look across all time steps f = int(np.argmax(arr2D[:]) / shape[1]) time_steps = (4.0/(len(data)/rate))*shape[1] # Create a 32x128 array centered to spectrum peak img = cv2.resize(arr2D[f - 16 : f + 16][:], model.imgSize) img = normalize_image(img) t_img = cv2.transpose(img) batch = Batch(None, [t_img]) (recognized, probability) = model.inferBatch(batch, True) img = put_text(img, recognized[0]) cv2.imwrite(f'dummy{i}.png',img*256.) print(f'i:{i} t:{time} f:{f} Recognized:|{recognized[0]}| Probability:{probability[0]}') #plot_image(arr2D, bins, freqs)
Example #15
Source File: MorseDecoder.py From LSTM_morse with MIT License | 5 votes |
def infer_image(model, o): im = o[0::1].reshape(1,256) im = im*256. img = cv2.resize(im, model.imgSize, interpolation = cv2.INTER_AREA) fname =f'dummy{uuid.uuid4().hex}.png' cv2.imwrite(fname,img) img = cv2.transpose(img) batch = Batch(None, [img]) (recognized, probability) = model.inferBatch(batch, True) return fname, recognized, probability
Example #16
Source File: MorseDecoder.py From LSTM_morse with MIT License | 5 votes |
def setupCTC(self): "create CTC loss and decoder and return them" # BxTxC -> TxBxC self.ctcIn3dTBC = tf.transpose(self.rnnOut3d, [1, 0, 2]) # ground truth text as sparse tensor self.gtTexts = tf.SparseTensor(tf.compat.v1.placeholder(tf.int64, shape=[None, 2]) , tf.compat.v1.placeholder(tf.int32, [None]), tf.compat.v1.placeholder(tf.int64, [2])) # calc loss for batch self.seqLen = tf.compat.v1.placeholder(tf.int32, [None]) self.loss = tf.reduce_mean(tf.compat.v1.nn.ctc_loss(labels=self.gtTexts, inputs=self.ctcIn3dTBC, sequence_length=self.seqLen, ctc_merge_repeated=True)) # calc loss for each element to compute label probability self.savedCtcInput = tf.compat.v1.placeholder(tf.float32, shape=[self.maxTextLen, None, len(self.charList) + 1]) self.lossPerElement = tf.compat.v1.nn.ctc_loss(labels=self.gtTexts, inputs=self.savedCtcInput, sequence_length=self.seqLen, ctc_merge_repeated=True) # decoder: either best path decoding or beam search decoding if self.decoderType == DecoderType.BestPath: self.decoder = tf.nn.ctc_greedy_decoder(inputs=self.ctcIn3dTBC, sequence_length=self.seqLen) elif self.decoderType == DecoderType.BeamSearch: self.decoder = tf.nn.ctc_beam_search_decoder(inputs=self.ctcIn3dTBC, sequence_length=self.seqLen, beam_width=50, merge_repeated=False) elif self.decoderType == DecoderType.WordBeamSearch: # import compiled word beam search operation (see https://github.com/githubharald/CTCWordBeamSearch) print("Loading WordBeamSearch...") word_beam_search_module = tf.load_op_library('cpp/proj/TFWordBeamSearch.so') # prepare information about language (dictionary, characters in dataset, characters forming words) chars = str().join(self.charList) wordChars = self.charList #open(self.modelDir+'wordCharList.txt').read().splitlines()[0] corpus = self.corpus # decode using the "Words" mode of word beam search self.decoder = word_beam_search_module.word_beam_search(tf.nn.softmax(self.ctcIn3dTBC, dim=2), 50, 'Words', 0.0, corpus.encode('utf8'), chars.encode('utf8'), wordChars.encode('utf8'))
Example #17
Source File: MorseDecoder.py From LSTM_morse with MIT License | 5 votes |
def create_image2(filename, imgSize, dataAugmentation=False): imgname = filename+".png" # Load image in grayscale if exists img = cv2.imread(imgname,0) if img is None: rate, data = wavfile.read(filename) arr2D, freqs, bins = get_specgram(data, rate) # Get the image data array shape (Freq bins, Time Steps) shape = arr2D.shape # Find the CW spectrum peak - look across all time steps f = int(np.argmax(arr2D[:]) / shape[1]) time_steps = (4.0/(len(data)/rate))*shape[1] #print(f"time_steps{time_steps}") # Create a 32x128 array centered to spectrum peak img = cv2.resize(arr2D[f - 16 : f + 16][:], imgSize) if False: # change to True if want to plot plot_image(arr2D, bins, freqs) img = normalize_image(img) print(f"create_image2: img.shape{img.shape} ==> {imgSize}") if img.shape == (32, 128): cv2.imwrite(imgname, img*256.) img = normalize_image(img) # transpose for TF img = cv2.transpose(img) return img
Example #18
Source File: transform.py From tensorpack with Apache License 2.0 | 5 votes |
def apply_image(self, img): ret = cv2.transpose(img) if img.ndim == 3 and ret.ndim == 2: ret = ret[:, :, np.newaxis] return ret
Example #19
Source File: transform.py From ADL with MIT License | 5 votes |
def apply_image(self, img): ret = cv2.transpose(img) if img.ndim == 3 and ret.ndim == 2: ret = ret[:, :, np.newaxis] return ret
Example #20
Source File: SamplePreprocessor.py From SimpleHTR with MIT License | 5 votes |
def preprocess(img, imgSize, dataAugmentation=False): "put img into target img of size imgSize, transpose for TF and normalize gray-values" # there are damaged files in IAM dataset - just use black image instead if img is None: img = np.zeros([imgSize[1], imgSize[0]]) # increase dataset size by applying random stretches to the images if dataAugmentation: stretch = (random.random() - 0.5) # -0.5 .. +0.5 wStretched = max(int(img.shape[1] * (1 + stretch)), 1) # random width, but at least 1 img = cv2.resize(img, (wStretched, img.shape[0])) # stretch horizontally by factor 0.5 .. 1.5 # create target image and copy sample image into it (wt, ht) = imgSize (h, w) = img.shape fx = w / wt fy = h / ht f = max(fx, fy) newSize = (max(min(wt, int(w / f)), 1), max(min(ht, int(h / f)), 1)) # scale according to f (result at least 1 and at most wt or ht) img = cv2.resize(img, newSize) target = np.ones([ht, wt]) * 255 target[0:newSize[1], 0:newSize[0]] = img # transpose for TF img = cv2.transpose(target) # normalize (m, s) = cv2.meanStdDev(img) m = m[0][0] s = s[0][0] img = img - m img = img / s if s>0 else img return img
Example #21
Source File: misc.py From petridishnn with MIT License | 5 votes |
def _augment(self, img, do): ret = img if do: ret = cv2.transpose(img) if img.ndim == 3 and ret.ndim == 2: ret = ret[:, :, np.newaxis] return ret
Example #22
Source File: misc.py From petridishnn with MIT License | 5 votes |
def __init__(self, prob=0.5): """ Args: prob (float): probability of transpose. """ super(Transpose, self).__init__() self.prob = prob self._init()
Example #23
Source File: mtcnn.py From tensorrt_demos with MIT License | 5 votes |
def detect(self, img, boxes, max_batch=64, threshold=0.7): """Detect faces using ONet # Arguments img: input image as a RGB numpy array boxes: detection results by RNet, a numpy array [:, 0:5] of [x1, y1, x2, y2, score]'s max_batch: only process these many top boxes from RNet threshold: confidence threshold # Returns dets: boxes and conf scores landmarks """ if max_batch > 64: raise ValueError('Bad max_batch: %d' % max_batch) if boxes.shape[0] == 0: return (np.zeros((0, 5), dtype=np.float32), np.zeros((0, 10), dtype=np.float32)) boxes = boxes[:max_batch] # assuming boxes are sorted by score img_h, img_w, _ = img.shape boxes = convert_to_1x1(boxes) crops = np.zeros((boxes.shape[0], 48, 48, 3), dtype=np.uint8) for i, det in enumerate(boxes): cropped_im = crop_img_with_padding(img, det) # NOTE: H and W dimensions need to be transposed for RNet! crops[i, ...] = cv2.transpose(cv2.resize(cropped_im, (48, 48))) crops = crops.transpose((0, 3, 1, 2)) # NHWC -> NCHW crops = (crops.astype(np.float32) - PIXEL_MEAN) * PIXEL_SCALE self.trtnet.set_batchsize(crops.shape[0]) out = self.trtnet.forward(crops) pp = out['prob1'][:, 1, 0, 0] cc = out['boxes'][:, :, 0, 0] mm = out['landmarks'][:, :, 0, 0] boxes, landmarks = generate_onet_outputs(pp, cc, mm, boxes, threshold) pick = nms(boxes, 0.7, 'Min') return (clip_dets(boxes[pick, :], img_w, img_h), np.fix(landmarks[pick, :]))
Example #24
Source File: mtcnn.py From tensorrt_demos with MIT License | 5 votes |
def detect(self, img, boxes, max_batch=256, threshold=0.7): """Detect faces using RNet # Arguments img: input image as a RGB numpy array boxes: detection results by PNet, a numpy array [:, 0:5] of [x1, y1, x2, y2, score]'s max_batch: only process these many top boxes from PNet threshold: confidence threshold # Returns A numpy array of bounding box coordinates and the cooresponding scores: [[x1, y1, x2, y2, score], ...] """ if max_batch > 256: raise ValueError('Bad max_batch: %d' % max_batch) boxes = boxes[:max_batch] # assuming boxes are sorted by score if boxes.shape[0] == 0: return boxes img_h, img_w, _ = img.shape boxes = convert_to_1x1(boxes) crops = np.zeros((boxes.shape[0], 24, 24, 3), dtype=np.uint8) for i, det in enumerate(boxes): cropped_im = crop_img_with_padding(img, det) # NOTE: H and W dimensions need to be transposed for RNet! crops[i, ...] = cv2.transpose(cv2.resize(cropped_im, (24, 24))) crops = crops.transpose((0, 3, 1, 2)) # NHWC -> NCHW crops = (crops.astype(np.float32) - PIXEL_MEAN) * PIXEL_SCALE self.trtnet.set_batchsize(crops.shape[0]) out = self.trtnet.forward(crops) pp = out['prob1'][:, 1, 0, 0] cc = out['boxes'][:, :, 0, 0] boxes = generate_rnet_bboxes(pp, cc, boxes, threshold) if boxes.shape[0] == 0: return boxes pick = nms(boxes, 0.7, 'Union') dets = clip_dets(boxes[pick, :], img_w, img_h) return dets
Example #25
Source File: plotGT.py From PIXOR with MIT License | 5 votes |
def plot_image(bag, name): file_name = '/home/briallan/HawkEyeData/TestData/_2018-10-30-15-25-07/velo/'+name + '.png' #file_name = join(bag, 'velo', name+'.png') im = cv2.imread(file_name) cv2.imshow('original', im) cv2.waitKey(0) # rotate image #im = cv2.transpose(im) #im = cv2.flip(im, 1) #label_name = join(bag, 'labels', name+'.txt') label_name = '/home/briallan/HawkEyeData/TestData/_2018-10-30-15-25-07/labels/'+name + '.txt' with open(label_name, 'r') as f: lines = f.readlines() label_list = [] for line in lines: bbox = np.zeros((4, 2)) entry = line.split(' ') object = entry[0] w = float(entry[1]) l = float(entry[2]) cx = float(entry[3]) cy = float(entry[4]) yaw = float(entry[5]) print(object, w, l, cx, cy, yaw) bbox[0], bbox[1], bbox[2], bbox[3] = centroid_yaw2points(w, l, cx, cy, yaw) label_list.append(bbox) print("Labelled boxes:", label_list) for corners in label_list: corners = corners* meter_to_pixel plot_corners = corners.astype(int).reshape((-1, 1, 2)) cv2.polylines(im, [plot_corners], True, (255, 0, 0), 2) cv2.imshow('gt', im) cv2.waitKey(0) #plot_bev(im, label_list, map_height=BEV_H * meter_to_pixel)
Example #26
Source File: ShapeUtils2.py From end2end_AU_speech with MIT License | 5 votes |
def draw_error_bar_plot(e_real, e_fake, final_size=(900,100)): error = np.round(np.abs(e_real - e_fake) * 100.0).astype(np.int32) eg = np.round(e_real * 100.0).astype(np.int32) ef = np.round(e_fake * 100.0).astype(np.int32) # draw 46 bars img = np.zeros((460, 220, 3), dtype=np.uint8) + 255 for i in range(46): # draw the error bars y1 = 2 + i*10 y2 = y1 + 6 x1 = 120 x2 = 120 + error[i] img = cv2.rectangle(img, (x1,y1), (x2,y2), (255, 0, 0), cv2.FILLED) img = cv2.putText(img, "{:d}".format(i+1), (105, y1+5), cv2.FONT_HERSHEY_PLAIN, 0.5, (0, 0, 255), 1) # draw e_fake bars x1 = 0 x2 = ef[i] img = cv2.rectangle(img, (x1,y1), (x2,y1+3), (0, 255, 0), cv2.FILLED) # draw e_real bars x2 = eg[i] img = cv2.rectangle(img, (x1,y1+3), (x2,y2), (0, 0, 255), cv2.FILLED) img = cv2.transpose(img) img = cv2.flip(img, 0) ret = cv2.resize(img, final_size) return ret #if __name__ == "__main__": # triangles = load_triangles() # baseshapes = load_processed_baseshapes() # renderer = Renderer() # e = np.zeros(46, dtype=np.float32) # shape = calc_shape(baseshapes, e) # renderer.render(shape, triangles) # img = renderer.capture_screen() # renderer.exit() # cv2.imshow("image", img) # cv2.waitKey()
Example #27
Source File: ShapeUtils2.py From end2end_AU_speech with MIT License | 5 votes |
def capture_screen(self): if(self.is_win32): glReadBuffer(GL_FRONT) else: glReadBuffer(GL_BACK) glReadPixels(0, 0, self.width, self.height, GL_RGB, GL_UNSIGNED_BYTE, self.buffer) image = Image.frombytes(mode="RGB", size=(self.width, self.height), data=self.buffer) image = image.transpose(Image.FLIP_TOP_BOTTOM) image = np.array(image) # convert RGB to BGR for OpenCV new_image = np.copy(image) new_image[:,:,0] = image[:,:,2] new_image[:,:,2] = image[:,:,0] return new_image
Example #28
Source File: ShapeUtils2.py From end2end_AU_speech with MIT License | 5 votes |
def transform_shape(shape, R=None, T=None): ret_shape = np.copy(shape) if R is not None: ret_shape = ret_shape @ R.transpose() if T is not None: ret_shape = np.add(ret_shape, T) return ret_shape
Example #29
Source File: ShapeUtils2.py From end2end_AU_speech with MIT License | 5 votes |
def load_shape(filename, load_triangles = False): mesh = plyfile.PlyData.read(filename) # convert vertices to numpy array vertices = np.transpose(np.vstack((mesh['vertex']['x'],mesh['vertex']['y'],mesh['vertex']['z']))) # get triangles if load_triangles: tridata = mesh['face'].data['vertex_indices'] triangles = plyfile.make2d(tridata) return vertices, triangles return vertices
Example #30
Source File: preprocessing.py From Gun-Detector with Apache License 2.0 | 5 votes |
def cv2rotateimage(image, angle): """Efficient rotation if 90 degrees rotations, slow otherwise. Not a tensorflow function, using cv2 and scipy on numpy arrays. Args: image: a numpy array with shape [height, width, channels]. angle: the rotation angle in degrees in the range [-180, 180]. Returns: The rotated image. """ # Limit angle to [-180, 180] degrees. assert angle <= 180 and angle >= -180 if angle == 0: return image # Efficient rotations. if angle == -90: image = cv2.transpose(image) image = cv2.flip(image, 0) elif angle == 90: image = cv2.transpose(image) image = cv2.flip(image, 1) elif angle == 180 or angle == -180: image = cv2.flip(image, 0) image = cv2.flip(image, 1) else: # Slow rotation. image = ndimage.interpolation.rotate(image, 270) return image