У меня проблема с размером изображения (M*N) когда я читаю изображение как np.array после применения метода алгоритма, размер его изменяется на другое значение. Некоторое время увеличивается, а несколько раз уменьшается в зависимости от изображения.
img = cv2.imread('baboon.jpg',1) # read image (255*255)
na = np.array(img) # convert it to array
x, y ,pp = img.shape[:3] # size of 3d
blue = np.array(range(x*y), int).reshape((x, y))
blue[:,:] = na[:, :, 0]
en_split_block_8(red,31,1) # function algorithm
Я использую этот код для сохранения изображения, и его размер меняется с (255*255) на (640*480)
plt.imshow(blue,interpolation='nearest',cmap = "gray")
plt.savefig('blue.jpg')#(640*480)
Я хочу, чтобы изображение сохраняло свой размер. (Я не меняю размер изображения, просто работаю со значениями).
Это потому, что вы сохраняете изображение с помощью pyplot
, которое показывает изображение в виде диаграммы. Вместо этого вы хотите сохранить изображение blue
, используя cv2
с: cv2.imwrite('blue.jpg', blue)
.
Остерегайтесь, что na = np.array(img)
является излишним в отношении того, почему img
уже является ndarray
.