Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/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 如何识别图像中具有相似强度的邻近像素?_Python_Image_Image Processing_Graphics_Deep Learning - Fatal编程技术网

Python 如何识别图像中具有相似强度的邻近像素?

Python 如何识别图像中具有相似强度的邻近像素?,python,image,image-processing,graphics,deep-learning,Python,Image,Image Processing,Graphics,Deep Learning,我有一个图像,如下所示,我已经为该图像创建了遮罩(红点由遮罩生成)。遮罩中的点应该理想地覆盖图像上的整个黑点,但由于每个黑点只有一个坐标,因此生成的图像看起来如下所示 如何识别周围的像素(灰色和浅黑色)并对其进行标记?是否有任何方法可以查找并实现。如果我理解正确,您希望将周围的所有灰色和黑色像素转换为红色。如果是这样的话,这里有一个方法使用。其思想是加载图像,转换为,然后获得一个单通道二进制图像。这将为我们提供一个遮罩,我们可以使用它将遮罩上有白色像素的像素涂成红色。结果如下: 二元掩模 结

我有一个图像,如下所示,我已经为该图像创建了遮罩(红点由遮罩生成)。遮罩中的点应该理想地覆盖图像上的整个黑点,但由于每个黑点只有一个坐标,因此生成的图像看起来如下所示


如何识别周围的像素(灰色和浅黑色)并对其进行标记?是否有任何方法可以查找并实现。

如果我理解正确,您希望将周围的所有灰色和黑色像素转换为红色。如果是这样的话,这里有一个方法使用。其思想是加载图像,转换为,然后获得一个单通道二进制图像。这将为我们提供一个遮罩,我们可以使用它将遮罩上有白色像素的像素涂成红色。结果如下:

二元掩模

结果


你基本上是想用洪水填满邻近的灰色区域,也许吧?
import cv2
import numpy as np

# Load image, grayscale, Otsu's threshold
image = cv2.imread('1.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY_INV)[1]

# Color pixels red where there are white pixels on the mask
image[np.where(thresh==255)] = [0,0,255]

# Display
cv2.imshow('thresh', thresh)
cv2.imshow('image', image)
cv2.waitKey()