本文整理匯總了Python中cv2.COLOR_GRAY2BGR屬性的典型用法代碼示例。如果您正苦於以下問題:Python cv2.COLOR_GRAY2BGR屬性的具體用法?Python cv2.COLOR_GRAY2BGR怎麽用?Python cv2.COLOR_GRAY2BGR使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類cv2
的用法示例。
在下文中一共展示了cv2.COLOR_GRAY2BGR屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: contour_filter
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def contour_filter(self, frame):
_, contours, _ = cv2.findContours(frame,
cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
new_frame = np.zeros(frame.shape, np.uint8)
for i, contour in enumerate(contours):
c_area = cv2.contourArea(contour)
if self.contour_min_area <= c_area <= self.contour_max_area:
mask = np.zeros(frame.shape, np.uint8)
cv2.drawContours(mask, contours, i, 255, cv2.FILLED)
mask = cv2.bitwise_and(frame, mask)
new_frame = cv2.bitwise_or(new_frame, mask)
frame = new_frame
if self.contour_disp_flag:
frame = cv2.cvtColor(frame, cv2.COLOR_GRAY2BGR)
cv2.drawContours(frame, contours, -1, (255, 0, 0), 1)
return frame
# A number of methods corresponding to the various trackbars available.
示例2: draw_outputs
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def draw_outputs(img, outputs, class_names=None):
boxes, objectness, classes = outputs
#boxes, objectness, classes = boxes[0], objectness[0], classes[0]
wh = np.flip(img.shape[0:2])
if img.ndim == 2 or img.shape[2] == 1:
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
min_wh = np.amin(wh)
if min_wh <= 100:
font_size = 0.5
else:
font_size = 1
for i in range(classes.shape[0]):
x1y1 = tuple((np.array(boxes[i][0:2]) * wh).astype(np.int32))
x2y2 = tuple((np.array(boxes[i][2:4]) * wh).astype(np.int32))
img = cv2.rectangle(img, x1y1, x2y2, (255, 0, 0), 1)
img = cv2.putText(img, '{}'.format(int(classes[i])), x1y1, cv2.FONT_HERSHEY_COMPLEX_SMALL, font_size,
(0, 0, 255), 1)
return img
示例3: draw_labels
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def draw_labels(x, y, class_names=None):
img = x.numpy()
if img.ndim == 2 or img.shape[2] == 1:
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
boxes, classes = tf.split(y, (4, 1), axis=-1)
classes = classes[..., 0]
wh = np.flip(img.shape[0:2])
min_wh = np.amin(wh)
if min_wh <= 100:
font_size = 0.5
else:
font_size = 1
for i in range(len(boxes)):
x1y1 = tuple((np.array(boxes[i][0:2]) * wh).astype(np.int32))
x2y2 = tuple((np.array(boxes[i][2:4]) * wh).astype(np.int32))
img = cv2.rectangle(img, x1y1, x2y2, (255, 0, 0), 1)
if class_names:
img = cv2.putText(img, class_names[classes[i]], x1y1, cv2.FONT_HERSHEY_COMPLEX_SMALL, font_size,
(0, 0, 255), 1)
else:
img = cv2.putText(img, str(classes[i]), x1y1, cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0, 0, 255), 1)
return img
示例4: blend_transparent
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def blend_transparent(face_img, overlay_t_img):
# Split out the transparency mask from the colour info
overlay_img = overlay_t_img[:, :, :3] # Grab the BRG planes
overlay_mask = overlay_t_img[:, :, 3:] # And the alpha plane
# Again calculate the inverse mask
background_mask = 255 - overlay_mask
# Turn the masks into three channel, so we can use them as weights
overlay_mask = cv2.cvtColor(overlay_mask, cv2.COLOR_GRAY2BGR)
background_mask = cv2.cvtColor(background_mask, cv2.COLOR_GRAY2BGR)
# Create a masked out face image, and masked out overlay
# We convert the images to floating point in range 0.0 - 1.0
face_part = (face_img * (1 / 255.0)) * (background_mask * (1 / 255.0))
overlay_part = (overlay_img * (1 / 255.0)) * (overlay_mask * (1 / 255.0))
# And finally just add them together, and rescale it back to an 8bit integer image
return np.uint8(cv2.addWeighted(face_part, 255.0, overlay_part, 255.0, 0.0))
示例5: evaluate_model
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def evaluate_model(model, digits, samples, labels):
resp = model.predict(samples)
err = (labels != resp).mean()
print('error: %.2f %%' % (err*100))
confusion = np.zeros((10, 10), np.int32)
for i, j in zip(labels, resp):
confusion[i, int(j)] += 1
print('confusion matrix:')
print(confusion)
print()
vis = []
for img, flag in zip(digits, resp == labels):
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
if not flag:
img[...,:2] = 0
vis.append(img)
return mosaic(25, vis)
示例6: blend_non_transparent
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def blend_non_transparent(sprite, background_img):
gray_overlay = cv2.cvtColor(background_img, cv2.COLOR_BGR2GRAY)
overlay_mask = cv2.threshold(gray_overlay, 1, 255, cv2.THRESH_BINARY)[1]
overlay_mask = cv2.erode(overlay_mask, cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3)))
overlay_mask = cv2.blur(overlay_mask, (3, 3))
background_mask = 255 - overlay_mask
overlay_mask = cv2.cvtColor(overlay_mask, cv2.COLOR_GRAY2BGR)
background_mask = cv2.cvtColor(background_mask, cv2.COLOR_GRAY2BGR)
sprite_part = (sprite * (1 / 255.0)) * (background_mask * (1 / 255.0))
overlay_part = (background_img * (1 / 255.0)) * (overlay_mask * (1 / 255.0))
return np.uint8(cv2.addWeighted(sprite_part, 255.0, overlay_part, 255.0, 0.0))
示例7: get_image_and_mask
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def get_image_and_mask(img_location, gray_flag):
# Load image from file with alpha channel (UNCHANGED flag). If an alpha
# channel does not exist, just return the base image.
img = cv2.imread(img_location, cv2.IMREAD_UNCHANGED)
if img.shape[2] <= 3:
return img, None
# Create an alpha channel matrix with values between 0-255. Then
# threshold the alpha channel to create a binary mask.
channels = cv2.split(img)
mask = np.array(channels[3])
_, mask = cv2.threshold(mask, 250, 255, cv2.THRESH_BINARY)
# Convert image and mask to grayscale or BGR based on input flag.
if gray_flag:
img = cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY)
else:
img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)
mask = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)
return img, mask
# Resize an image and mask based on an input scale ratio.
示例8: evaluate_model
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def evaluate_model(model, data, samples, labels):
resp = model.predict(samples)
print(resp)
err = (labels != resp).mean()
print('Accuracy: %.2f %%' % ((1 - err)*100))
confusion = np.zeros((10, 10), np.int32)
for i, j in zip(labels, resp):
confusion[int(i), int(j)] += 1
print('confusion matrix:')
print(confusion)
vis = []
for img, flag in zip(data, resp == labels):
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
if not flag:
img[...,:2] = 0
vis.append(img)
return mosaic(16, vis)
示例9: render
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def render(self, n_max=0, fallback_im=None):
if self.image_scores is not None:
im = cv2.applyColorMap((self.image_scores * 255).astype(np.uint8),
cv2.COLORMAP_JET)
else:
assert fallback_im is not None
im = cv2.cvtColor(fallback_im, cv2.COLOR_GRAY2BGR)
if n_max == 0:
n_max = self.ips_rc.shape[1]
for i in range(n_max):
thickness_relevant_score = \
np.clip(self.ip_scores[i], 0.2, 0.6) - 0.2
thickness = int(thickness_relevant_score * 20)
if type(self.scales) == np.ndarray:
radius = int(self.scales[i] * 10)
else:
radius = 10
cv2.circle(im, tuple(self.ips_rc[[1, 0], i]),
radius, (0, 255, 0), thickness, cv2.LINE_AA)
return im
示例10: renderTrainSample
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def renderTrainSample(pair, fps, corr_rc, inl):
ims = [cv2.cvtColor(i, cv2.COLOR_GRAY2BGR) for i in pair.im]
rc = system.renderColors()
for fp, corr, im in zip(fps, corr_rc, ims):
for i in range(128):
cv2.circle(im, tuple(fp.ips_rc[[1, 0], i]), 6, tuple(rc[i]), 1,
cv2.LINE_AA)
if inl[i]:
thck = -1
else:
thck = 1
cv2.circle(im, tuple(corr[[1, 0], i]), 2, tuple(rc[i]), thck,
cv2.LINE_AA)
renderings = [i.render(with_points=False) for i in fps]
gray_ims = np.concatenate(ims, axis=0)
rend = np.concatenate(renderings, axis=0)
full_im = np.concatenate([gray_ims, rend], axis=1)
outdir = os.path.join(
'results', 'train_samples', hyperparams.methodEvalString())
if not os.path.exists(outdir):
os.makedirs(outdir)
outfile = os.path.join(outdir, pair.name() + '.png')
cv2.imwrite(outfile, full_im)
示例11: concat_imgs
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def concat_imgs(tuple_imgs, axis=1):
"""
# Concat multiple images along 1 axis
:param tuple_imgs: tuple of images
:param axis: 0 means vertically and 1 means horizontally
:return: Concat image
"""
new_list_imgs = []
for image in tuple_imgs:
if len(image.shape) == 2:
image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR)
new_list_imgs.append(image)
concat_im = np.concatenate(tuple(new_list_imgs), axis=axis)
return concat_im
# ROS
示例12: generate_colorbar
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def generate_colorbar(self, min_temp=None, max_temp=None, cmap=cv.COLORMAP_JET, height=None):
if min_temp is None:
min_temp = self.global_min_temp
if max_temp is None:
max_temp = self.global_max_temp
cb_gray = np.arange(255,0,-1,dtype=np.uint8).reshape((255,1))
if cmap is not None:
cb_color = cv.applyColorMap(cb_gray, cmap)
else:
cb_color = cv.cvtColor(cb_gray, cv.COLOR_GRAY2BGR)
for i in range(1,6):
cb_color = np.concatenate( (cb_color, cb_color), axis=1 )
if height is None:
append_img = np.zeros( (self.thermal_image.shape[0], cb_color.shape[1]+30, 3), dtype=np.uint8 )
else:
append_img = np.zeros( (height, cb_color.shape[1]+30, 3), dtype=np.uint8 )
append_img[append_img.shape[0]//2-cb_color.shape[0]//2 : append_img.shape[0]//2 - (cb_color.shape[0]//2) + cb_color.shape[0] , 10 : 10 + cb_color.shape[1] ] = cb_color
cv.putText(append_img, str(min_temp), (5, append_img.shape[0]//2 - (cb_color.shape[0]//2) + cb_color.shape[0] + 30), cv.FONT_HERSHEY_PLAIN, 1, (255,0,0) , 1, 8)
cv.putText(append_img, str(max_temp), (5, append_img.shape[0]//2-cb_color.shape[0]//2-20) , cv.FONT_HERSHEY_PLAIN, 1, (0,0,255) , 1, 8 )
return append_img
示例13: get_overlay
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def get_overlay(bg_image, fg_image, sizes=(40, 40)):
fg_image = cv2.resize(fg_image, sizes)
fg_mask = fg_image[:, :, 3:]
fg_image = fg_image[:, :, :3]
bg_mask = 255 - fg_mask
bg_image = bg_image/255
fg_image = fg_image/255
fg_mask = cv2.cvtColor(fg_mask, cv2.COLOR_GRAY2BGR)/255
bg_mask = cv2.cvtColor(bg_mask, cv2.COLOR_GRAY2BGR)/255
image = cv2.addWeighted(bg_image*bg_mask, 255, fg_image*fg_mask, 255, 0.).astype(np.uint8)
return image
# if __name__ == '__main__':
# images = get_images("../images", ["apple", "star"])
# print(images[0].shape)
# print(np.max(images[0]))
示例14: blend_non_transparent
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def blend_non_transparent(face_img, overlay_img):
# Let's find a mask covering all the non-black (foreground) pixels
# NB: We need to do this on grayscale version of the image
gray_overlay = cv2.cvtColor(overlay_img, cv2.COLOR_BGR2GRAY)
overlay_mask = cv2.threshold(gray_overlay, 1, 255, cv2.THRESH_BINARY)[1]
# Let's shrink and blur it a little to make the transitions smoother...
overlay_mask = cv2.erode(overlay_mask, cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3)))
overlay_mask = cv2.blur(overlay_mask, (3, 3))
# And the inverse mask, that covers all the black (background) pixels
background_mask = 255 - overlay_mask
# Turn the masks into three channel, so we can use them as weights
overlay_mask = cv2.cvtColor(overlay_mask, cv2.COLOR_GRAY2BGR)
background_mask = cv2.cvtColor(background_mask, cv2.COLOR_GRAY2BGR)
# Create a masked out face image, and masked out overlay
# We convert the images to floating point in range 0.0 - 1.0
face_part = (face_img * (1 / 255.0)) * (background_mask * (1 / 255.0))
overlay_part = (overlay_img * (1 / 255.0)) * (overlay_mask * (1 / 255.0))
# And finally just add them together, and rescale it back to an 8bit integer image
return np.uint8(cv2.addWeighted(face_part, 255.0, overlay_part, 255.0, 0.0))
示例15: channel_convert
# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import COLOR_GRAY2BGR [as 別名]
def channel_convert(in_c, tar_type, img_list):
# conversion among BGR, gray and y
if in_c == 3 and tar_type == 'gray': # BGR to gray
gray_list = [cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) for img in img_list]
return [np.expand_dims(img, axis=2) for img in gray_list]
elif in_c == 3 and tar_type == 'y': # BGR to y
y_list = [bgr2ycbcr(img, only_y=True) for img in img_list]
return [np.expand_dims(img, axis=2) for img in y_list]
elif in_c == 1 and tar_type == 'RGB': # gray/y to BGR
return [cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) for img in img_list]
else:
return img_list