Как ускорить вложенный цикл (т.е. для i в a для j в b) по координатам изображения - PullRequest
0 голосов
/ 18 октября 2019

Мне нужно перебрать каждую пиксельную координату на изображении

Я не могу найти ответ ни на ссылках NumPy, ни на вопрос здесь

Я не могу найти никакого решения для этого на ссылке NumPyни вопросы здесь


def some_func(image1,image2,para = 1): 
    blank_image = np.zeros((2048,2048,3), np.uint8)
    for i in range(0,2048):
        for j in range(0, 2048):

            if (image1[i,j][0]/image2[i,j][0]) <= para:

                blank_image[i,j] = [255,255,255]
            if (image1[i,j][0]/image2[i,j][0]) > para:

                blank_image[i,j] = [0,0,255]

1 Ответ

0 голосов
/ 18 октября 2019
def some_func(image1,image2,para = 1): 
    blank_image = np.zeros(image1.shape, np.uint8)  # I hate magic constants
    blank_image[:, :, 2] = 255
    mask = image1[:, :, 0] / image2[:, :, 0] <= para  # shape agnostic
    blank_image[mask] = [255, 255, 255]
    return blan_image
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...