![](/img/trans.png)
[英]Python: How to save lists of 2D numpy arrays of different lengths
[英]Python: using function on 2 elements of different 2d numpy arrays
我想獲取2個數組的等效索引的總和,然后對它們進行閾值處理。 這段代碼運行但是非常慢,我不得不經常使用此功能。 python中有更有效的方法嗎?
sobelx = cv2.Sobel(smoothed,cv2.CV_64F,1,0,ksize=-1)
sobely = cv2.Sobel(smoothed,cv2.CV_64F,0,1,ksize=-1)
for i in range(0,height-1):
for j in range(0,width-1):
xvalue= sobelx[i,j]
yvalue= sobely[i,j]
tmp = math.sqrt(math.pow(xvalue,2) + math.pow(yvalue,2))
if tmp > 255:
tmp = 255
elif tmp <0:
tmp =0
self.gradientmap[i,j] = tmp
這應該可以解決問題:
sobelx = cv2.Sobel(smoothed,cv2.CV_64F,1,0,ksize=-1)
sobely = cv2.Sobel(smoothed,cv2.CV_64F,0,1,ksize=-1)
self.gradientmap = numpy.sqrt (sobelx ** 2 + sobely ** 2)
self.gradientmap[self.gradientmap> 255] = 255
我不知道sobelx
和sobely
的確切類型是sobelx
,但我假設您的問題中有2 numpy.array
。
注意:我刪除了tmp < 0
情況,因為您永遠不會有負平方根。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.