我正在努力理解 opencv 如何解释 numpy 数组。
import cv2
import numpy as np
if __name__ == '__main__':
size = (w, h, channels) = (100, 100, 1)
img = np.zeros(size, np.int8)
cv2.imshow('result', img), cv2.waitKey(0)
cv2.destroyAllWindows()
灰度黑色 100x100 图像,对吗?不,它显示我是灰色的!为什么?
原文由 Vanuan 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,关键部分是dtype。我选择
np.int8
。当我使用np.uint8
时,它是黑色的。令人惊讶的是,当
dtype=np.int8
时,零被解释为 127(或 128)!我希望零仍然是零,无论它是有符号的还是无符号的。