Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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
如何优化此代码(python中的双循环)?_Python_Loops_Numpy_Opencv - Fatal编程技术网

如何优化此代码(python中的双循环)?

如何优化此代码(python中的双循环)?,python,loops,numpy,opencv,Python,Loops,Numpy,Opencv,我有这个密码: for x in range(len(img)): for y in range(len(img[0])): if img[x][y]==255 : imgblur[x][y]=imggray[x][y] 我在这方面有所改进: i, j = np.where(img == 255) for x in range(i.shape[0]): imgblur[i[x]][j[x]]=imggray[i[x]][j[x]] 有没

我有这个密码:

for x in range(len(img)):
    for y in range(len(img[0])):
        if img[x][y]==255 :
            imgblur[x][y]=imggray[x][y]
我在这方面有所改进:

i, j = np.where(img == 255)
for x in range(i.shape[0]):
    imgblur[i[x]][j[x]]=imggray[i[x]][j[x]]
有没有办法改进更多(更快的循环)?

试试
np.where()
,上面写着:

如果img==255,则imgblur=imgray
else imgblur=imgblur

nx, ny = 5, 10
img = np.random.randint(255, size=(nx, ny))
imgblur = np.random.uniform(0,1.0,size=(nx, ny))
imggray = np.random.uniform(0,1.0,size=(nx, ny))

imgblur =   np.where(img==255,imggray,imgblur)
imgblur
试试看
np.where()
,上面写着:

如果img==255,则imgblur=imgray
else imgblur=imgblur

nx, ny = 5, 10
img = np.random.randint(255, size=(nx, ny))
imgblur = np.random.uniform(0,1.0,size=(nx, ny))
imggray = np.random.uniform(0,1.0,size=(nx, ny))

imgblur =   np.where(img==255,imggray,imgblur)
imgblur
你可以试试:

imgblur[imggray==255]=255
示例代码:

导入cv2
将numpy作为np导入
img=cv2.imread('imgs/car1.jpg'))
imggray=cv2.cvt颜色(img,cv2.COLOR\u bgr2灰色)
imgblur=np.类零(imggray)
imgblur[imggray>200]=255
cv2.imshow('imggray',imggray)
cv2.imshow('imgblur',imgblur)
cv2.等待键(0)
imggray:

imgblur:

您可以试试:

imgblur[imggray==255]=255
示例代码:

导入cv2
将numpy作为np导入
img=cv2.imread('imgs/car1.jpg'))
imggray=cv2.cvt颜色(img,cv2.COLOR\u bgr2灰色)
imgblur=np.类零(imggray)
imgblur[imggray>200]=255
cv2.imshow('imggray',imggray)
cv2.imshow('imgblur',imgblur)
cv2.等待键(0)
imggray:

imgblur:

imgblur=np.其中(img==255,imggray,imgblur)
?是的,你明白了
imgblur=np.其中(img==255,imggray,imgblur)
?是的,你明白了