OpenCV调整大小更改像素值

Eli*_*yan 1 pixels image-resizing python-2.7 deep-learning opencv3.0

虽然训练的PixelNet,我有TOR调整具有特定的像素值标注的图像(标签),调整前;图像像素具有特异性值(标对象),np.unique(image)[ 0 7 15] 然而,当我调整与OpenCV的形象,它适合我的网络定义像素值范围会变化

image = cv2.resize(image,(cnn_input_size, cnn_input_size),cv2.INTER_NEAREST)
Run Code Online (Sandbox Code Playgroud)

np.unique(bmask)[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17]

这对于训练带有注释标签的图像是一个灾难,因为这些值是为其他类指定的,我想知道这是否是调整大小时OpenCV的预期行为。

Mik*_*iki 7

使用

image = cv2.resize(image, (cnn_input_size, cnn_input_size), interpolation = cv2.INTER_NEAREST)
Run Code Online (Sandbox Code Playgroud)

要么

image = cv2.resize(image, (cnn_input_size, cnn_input_size), 0, 0, cv2.INTER_NEAREST)
Run Code Online (Sandbox Code Playgroud)

现在,您正在使用cv2.INTER_NEAREST参数的值fx(比例x),并且实际上使用的是默认插值方法INTER_LINEAR

  • `interpolation = cv2.INTER_NEAREST`的行应该可以正常工作。不确定其他实际上:) (2认同)