Как взять определенную матрицу в общей матрице и проверить, есть ли в матрице некоторые элементы - PullRequest
0 голосов
/ 25 февраля 2019

Я хочу взять матрицу определенного размера (2 X 2 X 2) в общей матрице (независимо от размера), и хочу проверить, имеет ли матрица определенного размера (тестовая матрица) некоторые элементы (то есть 1 или 2),Однако я не знаю, как проверить, легко.Я просто написал код, как показано ниже.На мой взгляд, есть какой-то способ оптимизации.Пожалуйста, дайте мне несколько полезных советов.Спасибо!

def labeling(input_matrix)
    test_matrix = np.zeros((2,2,2))
    for i in input_matrix.shape[0]
        for j in input_matrix.shape[1]
            for k in input_matrix.shape[2]
                test_matrix[i,j,k] = input_matrix[i,j,k]
                test_matrix[i+1,j,k] = input_matrix[i+1,j,k]
                test_matrix[i,j+1,k] = input_matrix[i,j+1,k]
                test_matrix[i+1,j+1,k] = input_matrix[i+1,j+1,k]
                test_matrix[i,j,k+1] = input_matrix[i,j,k+1]
                test_matrix[i+1,j,k+1] = input_matrix[i+1,j,k+1]
                test_matrix[i,j+1,k+1] = input_matrix[i,j+1,k+1]
                test_matrix[i+1,j+1,k+1] = input_matrix[i+1,j+1,k+1]

Например, это то, что я ожидал в 2D.

input field = [0 0 0;
               1 2 1;
               3 0 2]

проверить матрицу в единицах 2 * 2.

1) [0 0;
    1 2]  there is no 1 & 2 & 3. -> pass

2) [0 0;
    2 1]  there is no 1 & 2 & 3. -> pass

3) [1 2;                                    [4 4;
    3 0]  there is 1 & 2 & 3 -> make this    4 4]

output_field = [0 0 0;
                4 4 1; 
                4 4 2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...