opencv查找从特定点到图像中每个像素的距离?

Anas Bari |

我有黑白图像,我想为每个白色像素找到某个点的欧几里德距离。

def remove_pixel(img,point,distance ):
  rimg=np.copy(img)
  for i in range(rimg.shape[0]):
    for j in range(rimg.shape[1]):
      if rimg[i,j]==1 and distance((i,j),point)<distance:
        rimg[i,j]=0
  return rimg

如何不使用循环就可以做到这一点?

音调

您可以使用numpy.indices对向量进行矢量化numpy.where,如下所示:

import numpy as np

def remove_pixel(img, point, distance):
    rows, cols = np.indices(img.shape)
    mask = (rows - point[0])**2 + (cols - point[1])**2 < distance**2
    return np.where(mask, 0, img)

演示版

In [36]: from skimage.data import checkerboard

In [37]: import matplotlib.pyplot as plt

In [38]: img = checkerboard()

In [39]: out = remove_pixel(img, [75, 75], 50)

In [40]: fig, (ax0, ax1) = plt.subplots(1, 2)
    ...: ax0.imshow(img, cmap='gray')
    ...: ax0.axis('off')
    ...: ax0.set_title('img')
    ...: ax1.imshow(out, cmap='gray')
    ...: ax1.axis('off')
    ...: ax1.set_title('out')
    ...: plt.show(fig)

结果

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在opencv中查找图像内像素之间的欧几里得距离

如何获得从固定点到特定距离的坐标邻居

在OpenCV Python中测量点到遮罩的距离

如何通过将鼠标指向图像上的特定点来获取Java中的图像像素坐标?

查找图像中每个像素最接近的RGB颜色

获取特定点到谷歌地图上绘制的线之间的距离

在openCV中设置特定图像中像素的RGB值

仅针对图像的特定点计算相邻像素的平均像素强度并存储在 n 维数组中

OpenCV Python-检查图像中的特定像素值

OpenCV距离转换中的像素索引

计算所有点到python中给定点的加权距离

模糊图像的特定点并存储像素值

查找点到轴的距离

检测图像中的最大像素距离

查找图像中所有像素对之间的距离

在Flickable中的特定点缩放/缩放图像

计算 Path 包围的区域与 Flutter 中特定点之间的距离

如何访问 OpenCV 中的每个像素,执行操作并将新信息返回到图像?

使用python使用opencv / numpy查找彩色图像中的白色像素

查找iPhone的从A点到B点的距离

查找点到多边形的距离

在 Opencv 中查找点之间的距离

在OpenCV中查找像素的世界空间坐标

JS生成图像中每个像素的RGB

获取图像中每个像素的坐标

如何在OpenCV和C +++中找到图像中两个对象(点)之间的距离(以m和像素为单位的物理距离)?

特定点的图像卷积

查找图像中连续的黑色像素

在图像中查找某些像素值