Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用np.isin和np.where[issue]进行快速像素处理_Python 3.x_Numpy_Opencv - Fatal编程技术网

Python 3.x 使用np.isin和np.where[issue]进行快速像素处理

Python 3.x 使用np.isin和np.where[issue]进行快速像素处理,python-3.x,numpy,opencv,Python 3.x,Numpy,Opencv,我是python和图像处理的新手。我正在尝试使用np.isin和np.where(我希望避免在所有像素上嵌套循环)在输入图像中查找给定RGB值的列表。 这里是输入和输出 输入: 输出: 我正在使用以下代码- fliterlist = [ [244,240,255], [253,239,255], [255,234,249], [255,230,245], [255,229,243], [255,228,242] ] # actual list ha

我是python和图像处理的新手。我正在尝试使用np.isin和np.where(我希望避免在所有像素上嵌套循环)在输入图像中查找给定RGB值的列表。 这里是输入和输出

输入:

输出:

我正在使用以下代码-

fliterlist = [
    [244,240,255],
    [253,239,255],
    [255,234,249],
    [255,230,245],
    [255,229,243],
    [255,228,242]
]
# actual list has more than 100 elements

def imageTest(img,count=0):

    outImg = np.zeros(img.shape,dtype=np.uint8)

    posArray=(np.isin(img,bb)).all(axis=2)
    outImg[np.where(posArray)] = [255,255,255]

    outname = './fast/imageTest_'+str(count)+'.jpg'
    outputlist[outname]=outImg

    return
由于某些原因,我没有得到预期的输出。我的意思是,如果我使用双嵌套循环来迭代所有像素,我会得到想要的结果。但这里看起来np.isin给了我一个不同的数组。 请帮我找出问题所在

下面是一个非常有效的示例想法-


image-

使用opencv的inrange函数,如下所示:

mask = cv2.inRange(image, lower_range, upper_range)
我知道你想找到一个特定的像素,所以相应地调整范围。
根据我的经验,无论你想完成什么任务,最好使用一系列像素,这样会很有好处。但以后由您决定。

使用opencv的inrange函数,如下所示:

mask = cv2.inRange(image, lower_range, upper_range)
我知道你想找到一个特定的像素,所以相应地调整范围。
根据我的经验,无论你想完成什么任务,最好使用一系列像素,这样会很有好处。但以后由您决定。

您能具体说明您想做什么吗?我能理解的是,你正在尝试设置一个图像的阈值。假设有一个图像。我需要找出其中的特定RGB值。例如,假设我正在查找值为[255,0,0]的所有像素。因此,输出图像基本上是黑色图像,只有标记为[255255]的像素。这有帮助吗?你能具体说明你想做什么吗?我能理解的是,你正在尝试设置一个图像的阈值。假设有一个图像。我需要找出其中的特定RGB值。例如,假设我正在查找值为[255,0,0]的所有像素。因此,输出图像基本上是黑色图像,只有标记为[255255]的像素。有帮助吗?