Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
使用opencv和Python删除图像中的模糊_Python_Python 3.x_Opencv_Computer Vision - Fatal编程技术网

使用opencv和Python删除图像中的模糊

使用opencv和Python删除图像中的模糊,python,python-3.x,opencv,computer-vision,Python,Python 3.x,Opencv,Computer Vision,我正在使用HED()转换以下图像输入: 图1 对于此图像: 图2 然而,HED的输出仍然包含许多模糊区域,比如旅行者的裤子和背包上的模糊区域。以移除附加模糊。我尝试在上面的图像2上使用canny边缘检测器,结果如下: edges = cv2.Canny(hed,100,200) 图3 然而,图3中的输出完全不同。我想要的是一个修订版的图像2,但与模糊区域删除。我该怎么做呢?我不知道这是不是你想要的。但您只能将某些灰度以上的值阈值设置为白色,而Python/OpenCV中较暗的值保持不变,

我正在使用HED()转换以下图像输入:

图1

对于此图像:

图2

然而,HED的输出仍然包含许多模糊区域,比如旅行者的裤子和背包上的模糊区域。以移除附加模糊。我尝试在上面的图像2上使用canny边缘检测器,结果如下:

edges = cv2.Canny(hed,100,200)

图3


然而,图3中的输出完全不同。我想要的是一个修订版的图像2,但与模糊区域删除。我该怎么做呢?

我不知道这是不是你想要的。但您只能将某些灰度以上的值阈值设置为白色,而Python/OpenCV中较暗的值保持不变,如下所示:

输入:


结果:


我不知道这是否是你想要的。但您只能将某些灰度以上的值阈值设置为白色,而Python/OpenCV中较暗的值保持不变,如下所示:

输入:


结果:


您可能希望将阈值以下的像素设置为0。@Cris-Like二值化?我尝试过二值化,但结果是非常清晰的图像。有没有办法将rgb值的特定范围内的像素设置为零?是的,正如我所建议的,可以将阈值以下的像素设置为零,而不影响其他像素。请参见cv2.inRange()以修改某个范围内的像素。或者,为要修改的区域制作一个二进制掩码。然后使用遮罩更改颜色。您可能希望将阈值以下的像素设置为0。@Cris-Like二值化?我尝试过二值化,但结果是非常清晰的图像。有没有办法将rgb值的特定范围内的像素设置为零?是的,正如我所建议的,可以将阈值以下的像素设置为零,而不影响其他像素。请参见cv2.inRange()以修改某个范围内的像素。或者,为要修改的区域制作一个二进制掩码。然后使用遮罩更改颜色。@Ajinkya此方法使用Numpy广播功能设置像素阈值。如果只想使用OpenCV,可以使用。两者应该给出相同的结果result@Ajinkya此方法使用Numpy广播功能设置像素阈值。如果只想使用OpenCV,可以使用。两者都应该给出相同的结果
import cv2

# read image as grayscale
img = cv2.imread('hiker_edges.jpg',0)

# threshold to white only values above 127
img_thresh = img
img_thresh[ img > 127 ] = 255

# view result
cv2.imshow("threshold", img_thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()

# save result
cv2.imwrite("hiker_edges_white_threshold.jpg", img_thresh)