小编Phi*_*ipp的帖子

OpenCV Python:使用轨迹栏模糊图像

我想通过使用轨迹栏来控制图像的模糊。给定的MWE导入带有轨迹栏的图片,该轨迹栏设置的光圈线性大小(ksize)必须为1或正奇数。奇怪的getTrackbarPos是,它返回负数,因此必须乘以ksize-2并减去1。在无限循环内,图像变得模糊并显示出来。

import cv2

# Callback function for trackbar
def on_change(self):
    pass

# Reads image with 0 as GRAY and 1 as BGR
img = cv2.imread('example.JPG', 0)

# Creates window
cv2.namedWindow('Image')

# Creates Trackbar with slider position and callback function
low_k = 1  # slider start position
high_k = 21  # maximal slider position
cv2.createTrackbar('Blur', 'Image', low_k, high_k, on_change)

# Infinite loop
while(True):
    ksize = cv2.getTrackbarPos('ksize', 'Image')  # returns trackbar position
    ksize = -2*ksize-1  # …
Run Code Online (Sandbox Code Playgroud)

python opencv trackbar

3
推荐指数
1
解决办法
646
查看次数

Python groupby通过分隔符拆分列表

我是Python(3.6)的新手,并且正在努力理解itertools groupby.我有以下包含整数的列表:

    list1 = [1, 2, 0, 2, 3, 0, 4, 5, 0]
Run Code Online (Sandbox Code Playgroud)

但是列表也可能更长,并且在每对数字之后不必出现'0'.它也可以是3,4或更多的数字.我的目标是将此列表拆分为子列表,其中"0"用作分隔符,并且不会出现在任何这些子列表中.

    list2 = [[1, 2], [2, 3], [4, 5]]
Run Code Online (Sandbox Code Playgroud)

这里已经解决了类似的问题: Python基于分隔符单词分割列表 答案2似乎对我有很大的帮助但不幸的是它只给了我一个TypeError.

    import itertools as it

    list1 = [1, 2, 0, 2, 3, 0, 4, 5, 0]

    list2 = [list(group) for key, group in it.groupby(list1, lambda x: x == 0) if not key]

    print(list2)
Run Code Online (Sandbox Code Playgroud)

文件"H:/Python/work/ps0001/example.py",第13行,在list2 = [list(group)for key,group in it.groupby(list,lambda x:x =='0')if if not键]

TypeError:'list'对象不可调用

我很感激任何帮助,并很高兴终于了解groupby.

python split list delimiter

1
推荐指数
1
解决办法
630
查看次数

标签 统计

python ×2

delimiter ×1

list ×1

opencv ×1

split ×1

trackbar ×1