当前位置: 首页>>代码示例>>Python>>正文


Python imutils.rotate方法代码示例

本文整理汇总了Python中imutils.rotate方法的典型用法代码示例。如果您正苦于以下问题:Python imutils.rotate方法的具体用法?Python imutils.rotate怎么用?Python imutils.rotate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在imutils的用法示例。


在下文中一共展示了imutils.rotate方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: exitProg

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def exitProg(self):
        config = open('satconfig.txt','w')
        config.write(str(trackSettings.telescopetype)+'\n')
        config.write(str(self.entryCom.get()) + '\n')
        config.write(str(self.entryCam.get()) + '\n')
        config.write(str(trackSettings.mainviewX) + '\n')
        config.write(str(trackSettings.mainviewY) + '\n')
        config.write(str(trackSettings.imagescale) + '\n')
        config.write(str(self.entryLat.get())+'\n')
        config.write(str(self.entryLon.get())+'\n')
        config.write(str(trackSettings.trackingtype) + '\n')
        config.write(str(trackSettings.minbright)+'\n')
        config.write(str(trackSettings.flip)+'\n')
        config.write(str(trackSettings.mounttype)+'\n')
        config.write(str(trackSettings.rotate)+'\n')
        config.close()
        sys.exit() 
开发者ID:AstronomyLiveYt,项目名称:SatTraker,代码行数:19,代码来源:SatTrakerBetaV5.py

示例2: generate_rotated_image

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def generate_rotated_image(image, lower_angle=-90, upper_angle=90):
    """Generate a rotated image with a random rotation angle"""
    import imutils
    percent = np.random.random()
    percent_to_angle = lambda x: x * (upper_angle-lower_angle) + lower_angle
    #percent_to_scale = lambda x: x * 0.5 + 0.5
    angle = percent_to_angle(percent)
    rotated = imutils.rotate(image, angle, scale=1)
    return rotated, percent 
开发者ID:bbdamodaran,项目名称:deepJDOT,代码行数:11,代码来源:da_dataload.py

示例3: test_layer_overlay_rotated

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def test_layer_overlay_rotated():
    black_frame_image = np.zeros((100, 200, 3), dtype='uint8')
    rand_frame_1_image = black_frame_image.copy()
    rand_frame_2_image = black_frame_image.copy()
    add_random_circles(rand_frame_1_image, seed=42)
    add_random_circles(rand_frame_2_image, seed=8675309)

    rand_frame_1 = Frame(rand_frame_1_image)
    rand_frame_2 = Frame(rand_frame_2_image)

    rand_frame_1, _ = border_frame(rand_frame_1, border_size=0, border_type='black')
    rand_frame_2, _ = border_frame(rand_frame_2, border_size=0, border_type='black')

    rand_frame_2 = imutils.rotate(rand_frame_2, 90)

    overlay_1 = layer_overlay(rand_frame_1, rand_frame_2)
    overlay_2 = layer_overlay(rand_frame_2, rand_frame_1)

    overlay_2_expected = cv2.imread(overlay_2_test_file)
    overlay_1 = overlay_1[:, :, :3]
    overlay_2 = overlay_2[:, :, :3]

    # write/read as jpg to match expected
    cv2.imwrite(overlay_2_test_file, overlay_2)
    overlay_2 = cv2.imread(overlay_2_test_file)

    assert np.allclose(overlay_1, overlay_1)
    assert np.allclose(overlay_2, overlay_2_expected) 
开发者ID:AdamSpannbauer,项目名称:python_video_stab,代码行数:30,代码来源:test_layer_utils.py

示例4: get_transform

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def get_transform(center, scale, res, rot=0):
    """
    General image processing functions
    """
    # Generate transformation matrix
    h = 200 * scale
    t = np.zeros((3, 3))
    t[0, 0] = float(res[1]) / h
    t[1, 1] = float(res[0]) / h
    t[0, 2] = res[1] * (-float(center[0]) / h + .5)
    t[1, 2] = res[0] * (-float(center[1]) / h + .5)
    t[2, 2] = 1
    if not rot == 0:
        rot = -rot # To match direction of rotation from cropping
        rot_mat = np.zeros((3,3))
        rot_rad = rot * np.pi / 180
        sn,cs = np.sin(rot_rad), np.cos(rot_rad)
        rot_mat[0,:2] = [cs, -sn]
        rot_mat[1,:2] = [sn, cs]
        rot_mat[2,2] = 1
        # Need to rotate around center
        t_mat = np.eye(3)
        t_mat[0,2] = -res[1]/2
        t_mat[1,2] = -res[0]/2
        t_inv = t_mat.copy()
        t_inv[:2,2] *= -1
        t = np.dot(t_inv,np.dot(rot_mat,np.dot(t_mat,t)))
    return t 
开发者ID:bearpaw,项目名称:pytorch-pose,代码行数:30,代码来源:transforms.py

示例5: set0Rotate

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def set0Rotate(self):
        trackSettings.rotate = 0 
开发者ID:AstronomyLiveYt,项目名称:SatTraker,代码行数:4,代码来源:SatTrakerBetaV5.py

示例6: setPos90Rotate

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def setPos90Rotate(self):
        trackSettings.rotate = 90 
开发者ID:AstronomyLiveYt,项目名称:SatTraker,代码行数:4,代码来源:SatTrakerBetaV5.py

示例7: setNeg90Rotate

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def setNeg90Rotate(self):
        trackSettings.rotate = -90 
开发者ID:AstronomyLiveYt,项目名称:SatTraker,代码行数:4,代码来源:SatTrakerBetaV5.py

示例8: set180Rotate

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def set180Rotate(self):
        trackSettings.rotate = 180 
开发者ID:AstronomyLiveYt,项目名称:SatTraker,代码行数:4,代码来源:SatTrakerBetaV5.py

示例9: get_sight

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def get_sight(self, orientation, veh_id):
        """Return the local observation of a vehicle.

        Parameters
        ----------
        orientation : list
            An orientation is a list contains [x, y, angle]
        veh_id : str
            The vehicle to observe for
        """
        x, y, ang = orientation
        x = (x-self.x_shift)*self.x_scale*self.pxpm
        y = (y-self.y_shift)*self.y_scale*self.pxpm
        x_med = x
        y_med = self.height - y
        sight_radius = self.sight_radius * self.pxpm
        x_min = int(x_med - sight_radius)
        y_min = int(y_med - sight_radius)
        x_max = int(x_med + sight_radius)
        y_max = int(y_med + sight_radius)
        fixed_sight = self.frame[y_min:y_max, x_min:x_max]
        height, width = fixed_sight.shape[0:2]
        mask = np.zeros((height, width), np.uint8)
        cv2.circle(mask, (int(sight_radius), int(sight_radius)),
                   int(sight_radius), (255, 255, 255), thickness=-1)
        rotated_sight = cv2.bitwise_and(fixed_sight, fixed_sight, mask=mask)
        rotated_sight = imutils.rotate(rotated_sight, ang)

        if self.save_render:
            cv2.imwrite("%s/sight_%s_%06d.png" %
                        (self.path, veh_id, self.time),
                        rotated_sight)
        if "gray" in self.mode:
            return rotated_sight[:, :, 0]
        else:
            return rotated_sight 
开发者ID:flow-project,项目名称:flow,代码行数:38,代码来源:pyglet_renderer.py

示例10: resize

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def resize(self, to_resize_batch, targets=None, fixed='fixed', height=32):

		all_images = []
		all_targets = []

		for i, sample in enumerate(to_resize_batch):
			# if sample.shape[0] < self.config['min_h'] and targets!=None:
			# 	# print("Skipping")
			# 	continue
			if fixed == 'fixed':
				size = (320, 32)
			else:
				new_width = int(max(int(height/sample.shape[0]*sample.shape[1]), 2*height)*1.5)
				size=(new_width, height)
				# print("New size:",size)
				
			if self.num_channels == 1:
				image = Image.fromarray(sample).convert('L')
			else:
				image = Image.fromarray(sample).convert('RGB')

			if self.config['augmentation']['flag'] and self.Type == 'train' and not self.only_OWN:
				#Random rotate to account for flipped words
				# if np.random.random() < self.vertical_flip_prob:
				# 	image = image.rotate(180)
				# if np.random.random() < self.horizontal_flip_prob:
				# 	image = image.transpose(Image.FLIP_LEFT_RIGHT)
				#Distortion

				if np.random.random() < self.distort_prob:
					hori_tile_final = self.hori_tile + np.random.randint(5) - 2
					verti_tile_final = self.verti_tile + np.random.randint(3) - 1
					mag_final = self.distort_mag + np.random.randint(3) - 1
					image = self.elastic_deformation(image, hori_tile_final, verti_tile_final, mag_final)
					# print('elastic')
				#Shearing
				# if np.random.random() < self.shear_prob:
				# 	image = tf.warp(np.array(image), inverse_map=self.afine_tf)
				# 	print(image.size)
				# 	print('shear')

			# print('There')
			if self.num_channels == 1:
				image = torch.FloatTensor(np.array(image.resize(size)).astype(np.uint8)[:,:,None].transpose(2, 0, 1)[None])/255
			else:
				image = torch.FloatTensor(np.array(image.resize(size)).astype(np.uint8).transpose(2, 0, 1)[None])/255

			all_images.append(image)
			all_targets.append(targets[i])

		return all_images, all_targets
		# else:
		# 	return all_images 
开发者ID:mayank-git-hub,项目名称:Text-Recognition,代码行数:55,代码来源:reco_loader.py

示例11: rotate

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def rotate(self, cnt, image):

		#Consider some outer region for accurate text
		boundary = self.config['around_bound']
		#Find rotated rect's centre, rotation, heigh, width
		rect = list(cv2.minAreaRect(cnt))
		rect[1] = list(rect[1])
		#Add brder pixels
		rect[1][0] += boundary
		rect[1][1] += boundary
		rect[1] = tuple(rect[1])
		cnt = cv2.boxPoints(tuple(rect)).astype(np.int32).reshape([4, 1, 2])
		#Calculate minimum and maximum of contour coordinates for cropping
		min_x, min_y = np.min(cnt[:, 0, :], axis=0)
		
		min_x = max(0, min_x)
		min_y = max(0, min_y)

		max_x, max_y = np.max(cnt[:, 0, :], axis=0)

		max_x = min(image.shape[1], max_x)
		max_y = min(image.shape[0], max_y)


		if max_y - min_y <= 0 or max_x - min_x <= 0:
			return None

		mask = np.zeros([max_y - min_y, max_x - min_x, 3]).astype(np.uint8)
		#Shift origin
		cnt = cnt-np.array([min_x, min_y])
		cnt = cnt.astype(np.int32)
		#Draw just the rectangle on the mask
		cv2.drawContours(mask, [cnt], -1, (1, 1, 1), cv2.FILLED)
		#Crop part of the image with the contour only
		cropped_image = image[min_y:max_y, min_x:max_x, :].copy()
		cropped_image *= mask

		if rect[1][0]>rect[1][1]:
			rotated = imutils.rotate(cropped_image, rect[2])
			width, height = np.array(rect[1][0]).astype(np.int32), np.array(rect[1][1]).astype(np.int32)
		else:
			rotated = imutils.rotate(cropped_image, 90 + rect[2])
			width, height = np.array(rect[1][1]).astype(np.int32), np.array(rect[1][0]).astype(np.int32)

		center_x, center_y = np.array(rect[0]).astype(np.int32)-np.array([min_x, min_y])

		if self.num_channels == 1:
			return cv2.cvtColor(rotated, cv2.COLOR_BGR2GRAY)

		return rotated 
开发者ID:mayank-git-hub,项目名称:Text-Recognition,代码行数:52,代码来源:reco_loader.py

示例12: make_own_cache

# 需要导入模块: import imutils [as 别名]
# 或者: from imutils import rotate [as 别名]
def make_own_cache(self):

		d_name, d, image_root = 'OWN', self.datasets_attr['OWN'], self.datasets_attr['OWN']['image_root']
		self.own_cache = {'l_to_img_name':{}}
		images, target = [], []

		for i in range(len(self.images)):

			if not (i < d['range'][1] and i >= d['range'][0]):
				continue	

			try:
				image = np.array(self.loader(image_root+'/'+self.images[i]))

				not_blank = [j for j in range(len(self.texts[i])) if len(self.texts[i][j])!=0]
			
			except:
				continue

			for (cnt, text) in zip(self.annots[i][not_blank], np.array(self.texts[i])[not_blank]):

				# print(cv2.contourArea(cnt), len(text))
				# if len(text)<3:#cv2.contourArea(cnt) < 400*len(text) or
				# 	continue

				rotated = self.rotate(cnt, image)
				if rotated is None:
					continue

				images.append(rotated)
				l = [self.encoding_to_char[e] for e in text]
				self.own_cache['l_to_img_name'][''.join(l)] = self.images[i]
				target.append(torch.IntTensor(text))

		if self.list_or_tensor == 'list':
			images, targets = self.resize(images, target, 'not_fixed')
		else:
			images, targets = self.resize(images, target, 'fixed')

		self.own_cache['images'] = images
		self.own_cache['labels'] = targets
		# print(len(targets))
		dump_name = self.config['cache_path']+'/OWN_'+self.Type+'_cache.pkl'

		with open(dump_name, 'wb') as f:
			pickle.dump(self.own_cache, f)

		print("Successfully dumped",self.Type,"cache for OWN exclusive") 
开发者ID:mayank-git-hub,项目名称:Text-Recognition,代码行数:50,代码来源:reco_loader.py


注:本文中的imutils.rotate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。