我想用原始位深度保存我的调整大小/缩放opencv图像?

2024-04-25 01:45:38 发布

您现在位置:Python中文网/ 问答频道 /正文

import cv2
import numpy as np

# load input image:
input = cv2.imread("image.png")  #image.png size has 1.48MB & bit depth: 8

# scaling:
scaled_img = cv2.resize(input,None,fx=0.5,fy=0.5,)
cv2.imshow("Scaling-Linear Interpolation", scaled_img)

#saving the img:
cv2.imwrite("image_resize.png", scaled_img)  # 1.66 MB & bit depth: 24

我想知道为什么位深度会从原始图像改变。也知道如何根据用户的不同而改变。你知道吗


Tags: imageimportnumpyimginputpngasnp
1条回答
网友
1楼 · 发布于 2024-04-25 01:45:38

opencv imread总是作为3通道输入读取,因此它为加载的灰度图像添加2个相同的通道。你知道吗

可以使用“灰度”或“未更改”标志加载为灰度,或使用cv2.cvtColor转换为灰度。你知道吗

有关标志,请参见https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#gga61d9b0126a3e57d9277ac48327799c80af660544735200cbe942eea09232eb822

因此,当前您正在加载一个单通道8位图像文件作为3x8=24位图像。保存到png后,它是一个24位的图像文件。你知道吗

相关问题 更多 >