簡體   English   中英

如何使用python調整圖像大小但保留像素值

[英]How to resize an image but keep pixel's value with python

我正在處理一些圖像,我想將它們的尺寸從1080 * 1920調整為480 *640。 我已經將每個像素分類為一個特定的類,因此每個像素都有唯一的值。 但是,如果我調整圖像大小,那些像素值會改變。

python
resized = cv2.resize(image, (640, 480), interpolation = cv2.INTER_AREA)
print(set(resized.flat)) --> a dict {0,1,2,3,4……,38,39,40}
print(set(image.flat)) --> a dict {0,10,40}

# image size is 1080 * 1920
# resized size is 480 * 640

desired_image = cv2.imread(desired_image_path,cv2.IMREAD_GRAYSCALE).astype(np.uint8)
print(set(desired_image.flat)) --> a dict {0,10,40}

# desired_image size is 480 * 640

我希望獲得所需的圖像,該圖像的大小為480 * 640,沒有任何裁切,並且像素值保持不變。 現在我有正確的尺寸,但是像素值變化很大。

如果我正確理解您的意見,那么您想調整圖像大小而不創建新的像素值。 這可以通過將cv2.resizeinterpolation參數設置為cv2.resizeINTER_NEAREST

resized = cv2.resize(image, (640, 480), interpolation = cv2.INTER_NEAREST)

資料來源: https : //docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.html#resize

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM