减少 python 中图像的处理时间

Reducing processing time of images in python

我有一个 python 处理黑白图像的脚本。 我做的第一件事是不超过 170 毫秒的通常过程,即

  img = img[200:900, 250:1100]
  imag = image_resize(img, height=960, width=1280)
  ImgBlur = cv2.GaussianBlur(imag, (11, 11), 0)
  ret, thresh1 = cv2.threshold(ImgBlur, 100, 255, cv2.THRESH_BINARY)
  imgCanny = cv2.Canny(thresh1, 100, 100)

在我需要找到图像中的白色部分并执行此功能后立即执行此功能

  A = np.array(imgCanny)
  xpos = []
  ypos = []
  for i in range(len(A)):
      for j in range(len(A[i])):
          if A[i][j] == 255:
              ypos.append(i)
              xpos.append(j)

我的问题是这个函数花费了 2.3 秒,大部分是处​​理时间的 98%。 有谁知道我怎样才能通过另一种选择来减少它?

我得到的imageCanny结果就是这种图片imgCanny

根据您的需要,Numpy.where 和 numpy.argwhere 的结果应该完全符合您的要求,如下所示:

np.argwhere(a==255)

将return所有坐标的数组