Я прочитал изображение:
img = cv2.imread("sky.png", 1)
Теперь я хочу добавить один пиксель в каждом столбце для каждого канала. Я попытался это сделать следующим образом:
img[row_1, :, 0] = np.insert(img[row_1,:,0], column_1, some_value)
img[row_1, :, 1] = np.insert(img[row_1,:,1], column_1, some_value)
img[row_1, :, 2] = np.insert(img[row_1,:,2], column_1, some_value)
Есть ли лучший способ сделать это, чем записать каждый канал отдельно?
ОБНОВЛЕНИЕ : КакЯ упомянул, что хочу добавить новый столбец , то есть изображение 4x4, преобразуемое в изображение 4x5. Значение каждого пикселя отличается, и порядок столбцов также не является фиксированным. Например, первый пиксель вставляется в 3 столбца, а второй пиксель вставляется в 1 столбец и т. Д. (С использованием заранее определенного набора столбцов)
Пример:
[
[1,2,3,4],
[4,5,6,7],
[8,9,10,11]
]
Выше приведеноИзображение 3х4 (в действительности это будет 3-х канальное изображение). Я хочу преобразовать это в изображение 3x5, добавив пиксели в [0,2], [1,1], [2,4]
В результате получается:
[
[1,2, new-pixel-a, 3, 4],
[4,new-pixel-b, 5, 6, 7]
[8, 9, 10, 11, new-pixel-c]
]
ТакЯ получаю новое изображение, (3, 5)