1
我正在嘗試使用np的向量大小,但是imshow正在顯示黑色圖像,如果我正確理解向量化,它應該是白色。我認爲問題是輸出類型,但我不能讓它工作。opencv在numpy之後顯示黑色圖像vectorize
import numpy as np
import cv2
class Test():
def run(self):
arr = np.zeros((25,25))
arr[:]=255
cv2.imshow('white',arr)
flatarr = np.reshape(arr,25*25)
vfunc = np.vectorize(self.func)
#vfunc = np.vectorize(self.func,otypes=[np.int])#same effect
flatres = vfunc(flatarr)
shouldbewhite = np.reshape(flatres,(25,25))
cv2.imshow('shouldbewhite',shouldbewhite)
def func(self,a):
return 255
cv2.namedWindow('white',0)
cv2.namedWindow('shouldbewhite',0)
a = Test()
a.run()
cv2.waitKey(0)
更換第一陣列作爲一個側面說明,你不需要壓扁(重塑)的陣列中使用的量化。例如,這個工作原理是:vectorize(lambda x:x + 1)([[1,2],[3,4]])== array([[2,3],[4,5]]) –
哇!你是對的!這非常有用。謝謝 –