本文整理汇总了Python中cv2.convertScaleAbs方法的典型用法代码示例。如果您正苦于以下问题:Python cv2.convertScaleAbs方法的具体用法?Python cv2.convertScaleAbs怎么用?Python cv2.convertScaleAbs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cv2
的用法示例。
在下文中一共展示了cv2.convertScaleAbs方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: laplacian
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def laplacian(filepathname):
v = cv2.imread(filepathname)
s = cv2.cvtColor(v, cv2.COLOR_BGR2GRAY)
s = cv2.Laplacian(s, cv2.CV_16S, ksize=3)
s = cv2.convertScaleAbs(s)
cv2.imshow('nier',s)
return s
# ret, binary = cv2.threshold(s,40,255,cv2.THRESH_BINARY)
# contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
# for c in contours:
# x,y,w,h = cv2.boundingRect(c)
# if w>5 and h>10:
# cv2.rectangle(v,(x,y),(x+w,y+h),(155,155,0),1)
# cv2.imshow('nier2',v)
# cv2.waitKey()
# cv2.destroyAllWindows()
示例2: prediction
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def prediction(self, image):
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image = cv2.GaussianBlur(image, (21, 21), 0)
if self.avg is None:
self.avg = image.copy().astype(float)
cv2.accumulateWeighted(image, self.avg, 0.5)
frameDelta = cv2.absdiff(image, cv2.convertScaleAbs(self.avg))
thresh = cv2.threshold(
frameDelta, DELTA_THRESH, 255,
cv2.THRESH_BINARY)[1]
thresh = cv2.dilate(thresh, None, iterations=2)
cnts = cv2.findContours(
thresh.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
self.avg = image.copy().astype(float)
return cnts
示例3: adjust_brightness
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def adjust_brightness(img, brightness_factor):
"""Adjust brightness of an Image.
Args:
img (numpy ndarray): numpy ndarray to be adjusted.
brightness_factor (float): How much to adjust the brightness. Can be
any non negative number. 0 gives a black image, 1 gives the
original image while 2 increases the brightness by a factor of 2.
Returns:
numpy ndarray: Brightness adjusted image.
"""
if not _is_numpy_image(img):
raise TypeError('img should be numpy Image. Got {}'.format(type(img)))
table = np.array([ i*brightness_factor for i in range (0,256)]).clip(0,255).astype('uint8')
# same thing but a bit slower
# cv2.convertScaleAbs(img, alpha=brightness_factor, beta=0)
if img.shape[2]==1:
return cv2.LUT(img, table)[:,:,np.newaxis]
else:
return cv2.LUT(img, table)
示例4: adjust_brightness
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def adjust_brightness(img, brightness_factor):
"""Adjust brightness of an Image.
Args:
img (numpy ndarray): numpy ndarray to be adjusted.
brightness_factor (float): How much to adjust the brightness. Can be
any non negative number. 0 gives a black image, 1 gives the
original image while 2 increases the brightness by a factor of 2.
Returns:
numpy ndarray: Brightness adjusted image.
"""
if not _is_numpy_image(img):
raise TypeError('img should be numpy Image. Got {}'.format(type(img)))
table = np.array([ i*brightness_factor for i in range (0,256)]).clip(0,255).astype('uint8')
# same thing but a bit slower
# cv2.convertScaleAbs(img, alpha=brightness_factor, beta=0)
if img.shape[2] == 1:
return cv2.LUT(img, table)[:,:,np.newaxis]
else:
return cv2.LUT(img, table)
示例5: sobelOperT
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def sobelOperT(self, img, blursize, morphW, morphH):
'''
No different with sobelOper ?
'''
blur = cv2.GaussianBlur(img, (blursize, blursize), 0, 0, cv2.BORDER_DEFAULT)
if len(blur.shape) == 3:
gray = cv2.cvtColor(blur, cv2.COLOR_RGB2GRAY)
else:
gray = blur
x = cv2.Sobel(gray, cv2.CV_16S, 1, 0, 3)
absX = cv2.convertScaleAbs(x)
grad = cv2.addWeighted(absX, 1, 0, 0, 0)
_, threshold = cv2.threshold(grad, 0, 255, cv2.THRESH_OTSU + cv2.THRESH_BINARY)
element = cv2.getStructuringElement(cv2.MORPH_RECT, (morphW, morphH))
threshold = cv2.morphologyEx(threshold, cv2.MORPH_CLOSE, element)
return threshold
示例6: sobel
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def sobel(filepathname):
v = cv2.imread(filepathname)
s = cv2.cvtColor(v,cv2.COLOR_BGR2GRAY)
x, y = cv2.Sobel(s,cv2.CV_16S,1,0), cv2.Sobel(s,cv2.CV_16S,0,1)
s = cv2.convertScaleAbs(cv2.subtract(x,y))
s = cv2.blur(s,(9,9))
cv2.imshow('nier',s)
return s
# ret, binary = cv2.threshold(s,40,255,cv2.THRESH_BINARY)
# contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
# for c in contours:
# x,y,w,h = cv2.boundingRect(c)
# if w>5 and h>10:
# cv2.rectangle(v,(x,y),(x+w,y+h),(155,155,0),1)
# cv2.imshow('nier2',v)
# cv2.waitKey()
# cv2.destroyAllWindows()
示例7: blur_mask
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def blur_mask(img):
assert isinstance(img, numpy.ndarray), 'img_col must be a numpy array'
assert img.ndim == 3, 'img_col must be a color image ({0} dimensions currently)'.format(img.ndim)
msk, val, blurry = main.blur_detector(img)
logger.debug('inverting img_fft')
msk = cv2.convertScaleAbs(255-(255*msk/numpy.max(msk)))
msk[msk < 50] = 0
msk[msk > 127] = 255
logger.debug('removing border')
msk = remove_border(msk)
logger.debug('applying erosion and dilation operators')
msk = morphology(msk)
logger.debug('evaluation complete')
result = numpy.sum(msk)/(255.0*msk.size)
logger.info('{0}% of input image is blurry'.format(int(100*result)))
return msk, result, blurry
示例8: compute_energy_matrix
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def compute_energy_matrix(img):
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Compute X derivative of the image
sobel_x = cv2.Sobel(gray,cv2.CV_64F, 1, 0, ksize=3)
# Compute Y derivative of the image
sobel_y = cv2.Sobel(gray,cv2.CV_64F, 0, 1, ksize=3)
abs_sobel_x = cv2.convertScaleAbs(sobel_x)
abs_sobel_y = cv2.convertScaleAbs(sobel_y)
# Return weighted summation of the two images i.e. 0.5*X + 0.5*Y
return cv2.addWeighted(abs_sobel_x, 0.5, abs_sobel_y, 0.5, 0)
# Find vertical seam in the input image
开发者ID:PacktPublishing,项目名称:OpenCV-3-x-with-Python-By-Example,代码行数:18,代码来源:reduce_image_by_seam_carving.py
示例9: preprocess
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def preprocess(image):
# load the image
image = cv2.imread(args["image"])
#resize image
image = cv2.resize(image,None,fx=0.7, fy=0.7, interpolation = cv2.INTER_CUBIC)
#convert to grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
#calculate x & y gradient
gradX = cv2.Sobel(gray, ddepth = cv2.CV_32F, dx = 1, dy = 0, ksize = -1)
gradY = cv2.Sobel(gray, ddepth = cv2.CV_32F, dx = 0, dy = 1, ksize = -1)
# subtract the y-gradient from the x-gradient
gradient = cv2.subtract(gradX, gradY)
gradient = cv2.convertScaleAbs(gradient)
# blur the image
blurred = cv2.blur(gradient, (3, 3))
# threshold the image
(_, thresh) = cv2.threshold(blurred, 225, 255, cv2.THRESH_BINARY)
thresh = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
return thresh
示例10: detect_shirt
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def detect_shirt(self):
#self.dst=cv2.inRange(self.norm_rgb,np.array([self.lb,self.lg,self.lr],np.uint8),np.array([self.b,self.g,self.r],np.uint8))
self.dst=cv2.inRange(self.norm_rgb,np.array([20,20,20],np.uint8),np.array([255,110,80],np.uint8))
cv2.threshold(self.dst,0,255,cv2.THRESH_OTSU+cv2.THRESH_BINARY)
fg=cv2.erode(self.dst,None,iterations=2)
#cv2.imshow("fore",fg)
bg=cv2.dilate(self.dst,None,iterations=3)
_,bg=cv2.threshold(bg, 1,128,1)
#cv2.imshow("back",bg)
mark=cv2.add(fg,bg)
mark32=np.int32(mark)
cv2.watershed(self.norm_rgb,mark32)
self.m=cv2.convertScaleAbs(mark32)
_,self.m=cv2.threshold(self.m,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
#cv2.imshow("final_tshirt",self.m)
cntr,h=cv2.findContours(self.m,cv2.cv.CV_RETR_EXTERNAL,cv2.cv.CV_CHAIN_APPROX_SIMPLE)
return self.m,cntr
示例11: normalized
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def normalized(self):
# t1=time.time()
b=self.down[:,:,0]
g=self.down[:,:,1]
r=self.down[:,:,2]
sum=b+g+r
self.norm[:,:,0]=b/sum*255.0
self.norm[:,:,1]=g/sum*255.0
self.norm[:,:,2]=r/sum*255.0
# print "conversion time",time.time()-t1
#self.norm=cv2.merge([self.norm1,self.norm2,self.norm3])
self.norm_rgb=cv2.convertScaleAbs(self.norm)
#self.norm.dtype=np.uint8
return self.norm_rgb
示例12: draw_mask
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def draw_mask(img, mask, thickness=3, color=(255, 0, 0)):
def _get_edge(mask, thickness=3):
dtype = mask.dtype
x=cv2.Sobel(np.float32(mask),cv2.CV_16S,1,0, ksize=thickness)
y=cv2.Sobel(np.float32(mask),cv2.CV_16S,0,1, ksize=thickness)
absX=cv2.convertScaleAbs(x)
absY=cv2.convertScaleAbs(y)
edge = cv2.addWeighted(absX,0.5,absY,0.5,0)
return edge.astype(dtype)
img = img.copy()
canvas = np.zeros(img.shape, img.dtype) + color
img[mask > 0] = img[mask > 0] * 0.8 + canvas[mask > 0] * 0.2
edge = _get_edge(mask, thickness)
img[edge > 0] = img[edge > 0] * 0.2 + canvas[edge > 0] * 0.8
return img
示例13: differentialDerivativeOpenCv
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def differentialDerivativeOpenCv():
img = cv2.imread("E:\\TestImages\\person.jpg")
# 转换成单通道灰度图
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
x = cv2.Sobel(img, cv2.CV_16S, 1, 0)
y = cv2.Sobel(img, cv2.CV_16S, 0, 1)
# 进行微分计算后,可能会出现负值,将每个像素加上最小负数的绝对值
absX = cv2.convertScaleAbs(x) # 转回uint8
absY = cv2.convertScaleAbs(y)
# img = cv2.addWeighted(absX, 0.5, absY, 0.5, 0)
cv2.imshow("First order differential X", absX)
cv2.imshow("First order differential Y", absY)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例14: get_init_process_img
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def get_init_process_img(roi_img):
"""
对图片进行初始化处理,包括,梯度化,高斯模糊,二值化,腐蚀,膨胀和边缘检测
:param roi_img: ndarray
:return: ndarray
"""
h = cv2.Sobel(roi_img, cv2.CV_32F, 0, 1, -1)
v = cv2.Sobel(roi_img, cv2.CV_32F, 1, 0, -1)
img = cv2.add(h, v)
img = cv2.convertScaleAbs(img)
img = cv2.GaussianBlur(img, (3, 3), 0)
ret, img = cv2.threshold(img, 120, 255, cv2.THRESH_BINARY)
kernel = np.ones((1, 1), np.uint8)
img = cv2.erode(img, kernel, iterations=1)
img = cv2.dilate(img, kernel, iterations=2)
img = cv2.erode(img, kernel, iterations=1)
img = cv2.dilate(img, kernel, iterations=2)
img = auto_canny(img)
return img
示例15: mainLoop
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import convertScaleAbs [as 别名]
def mainLoop(self):
frame = self.webcam.get_frame()
f1 = imutils.resize(frame, width = 256)
#crop_frame = frame[100:228,200:328]
self.data_buffer.append(f1)
self.run_color()
#print(frame)
#if len(self.vidmag_frames) > 0:
#print(self.vidmag_frames[0])
cv2.putText(frame, "FPS "+str(float("{:.2f}".format(self.fps))),
(20,420), cv2.FONT_HERSHEY_PLAIN, 1.5, (0, 255, 0),2)
#frame[100:228,200:328] = cv2.convertScaleAbs(self.vidmag_frames[-1])
cv2.imshow("Original",frame)
#f2 = imutils.resize(cv2.convertScaleAbs(self.vidmag_frames[-1]), width = 640)
f2 = imutils.resize(cv2.convertScaleAbs(self.frame_out), width = 640)
cv2.imshow("Color amplification",f2)
self.key_handler() #if not the GUI cant show anything