本文整理汇总了Python中grid.Grid.split_in_four方法的典型用法代码示例。如果您正苦于以下问题:Python Grid.split_in_four方法的具体用法?Python Grid.split_in_four怎么用?Python Grid.split_in_four使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类grid.Grid
的用法示例。
在下文中一共展示了Grid.split_in_four方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: measure_focused_roi
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import split_in_four [as 别名]
def measure_focused_roi(im, roi, area, focus_points, debug=False):
g = Grid(cv.GetSize(im))
canvas = image.new_from(im)
cv.Set(canvas, 0)
focus_in_roi = image.And(focus_points, roi)
if debug:
image.show(focus_in_roi, "ROI + Focused Points")
densities = []
points = convert_to_points(focus_in_roi)
groups = form_groups(points, estimated_size=24, iter=5)
for group in groups:
ch = ConvexHull(map(lambda x: (x[0], x[1]), group))
ppp = ch.points_per_pixel()
a = int(ppp * 255)
ch.draw_filled_hull(canvas, rgb=(a,a,a))
if debug:
image.show(canvas, "Focused Regions in ROI")
quadrants = g.split_in_four(canvas)
sums = []
for i,quad in enumerate(quadrants):
sums.append(cv.Sum(quad)[0] / float(area/4))
arr = array(sums)
print arr.mean(), arr.std()
diff = max(sums) - min(sums)
return diff, arr.std()
示例2: measure_color_roi
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import split_in_four [as 别名]
def measure_color_roi(im, roi, area, focused_regions, debug=False):
im = cv.CloneImage(im)
g = Grid(cv.GetSize(im))
"""
contours = Contours(image.threshold(focused_regions, threshold=1)).approx_poly()
if debug:
test = image.new_from(im)
cv.Set(test, 0)
for c in contours:
i = 1
while c:
cv.FillPoly(test, [[c[x] for x in range(len(c))]], cv.RGB(0,64*i,0))
c = c.v_next()
i += 1
#contours.draw(test, levels=9)
image.show(test, "Test")
"""
#mask = image.And(image.threshold(focused_regions, threshold=1), roi)
#
#canvas = image.new_from(im, nChannels=1)
#cv.Set(canvas, 0)
#if cv.CountNonZero(mask) <= 1:
# return 0, 0
#contours = Contours(image.dilate(mask)).approx_poly()
#for c in contours:
# i = 1
# while c:
# cv.FillPoly(canvas, [[c[x] for x in range(len(c))]], 255)
# c = c.v_next()
# i += 1
#mask = image.Or(mask, canvas)
#if debug:
# image.show(mask, "MASK")
#
#cv.Set(im, 0, image.invert(mask))
cv.Set(im, 0, image.invert(roi))
#area = cv.CountNonZero(image.threshold(im, threshold=1))
if debug:
image.show(g.draw(im,thickness=2), "Image + ROI + Focus point mask")
scores = []
im = image.rgb2gray(im)
#canvas = image.And(plane, roi)
quadrants = g.split_in_four(im)
hist = []
for q,quad in enumerate(quadrants):
#scores.append(cv.Sum(quad)[0] / float(area/4))
h = GrayscaleHist(value_range=(1,255)).use_image(quad)
#image.show(h.to_img(), ['gray', 'red','green','blue'][i] + ' in ' + str(q))
hist.append(h.to_array())
scores = []
excluded_points = set([(2, 1), (3, 0)])
for i,h1 in enumerate(hist):
for j,h2 in enumerate(hist):
if i <= j or (i,j) in excluded_points:
continue
h = abs(h2-h1)
ht = GrayscaleHist(value_range=(0,255)).use_array_as_hist(h)
scores.append((h[5:].mean(), h[5:].std()))
means = max([x[0] for x in scores])
stddevs = max([x[1] for x in scores])
return means/255.0, stddevs/255.0