#python #python-3.x #numpy
#python #python-3.x #numpy
Вопрос:
У меня проблема с размером размера изображения (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)
Я хочу, чтобы изображение сохраняло свой размер. (Я не меняю размер изображения, просто работаю со значениями).
Ответ №1:
Это потому, что вы сохраняете изображение, с pyplot
помощью которого изображение отображается в виде диаграммы. Вместо этого вы хотите сохранить blue
изображение, используя cv2
with: cv2.imwrite('blue.jpg', blue)
.
Остерегайтесь, что na = np.array(img)
это избыточно, поскольку why img
уже является ndarray
.