如何在Python中使用OpenCV创建新的RGB图像?我不想从文件加载图像,只是创建一个空白图像来进行操作。
如何在Python中使用OpenCV创建新的RGB图像?我不想从文件加载图像,只是创建一个空白图像来进行操作。
cv2
接口将numpy数组集成到OpenCV框架中,这使得操作变得更简单,因为它们用简单的多维数组表示。例如,您的问题可以用以下方式回答:import cv2 # Not actually necessary if you just want to create an image.
import numpy as np
blank_image = np.zeros((height,width,3), np.uint8)
这将初始化一个全黑的RGB图像。例如,如果您想将图像的左半部分设置为蓝色,右半部分设置为绿色,您可以轻松地完成:
blank_image[:,0:width//2] = (255,0,0) # (B, G, R)
blank_image[:,width//2:width] = (0,255,0)
如果你想在未来避免很多麻烦,以及不必再像这样提问,我强烈建议使用cv2
接口而不是旧的cv
。我最近做出了这个改变,从此没有后悔过。你可以在OpenCV Change Logs中了解更多关于cv2
的信息。
import numpy as np
import cv2
height, width = 1080, 1920
b, g, r = 0x3E, 0x88, 0xE5 # orange
image = np.zeros((height, width, 3), np.uint8)
image[:, :, 0] = b
image[:, :, 1] = g
image[:, :, 2] = r
cv2.imshow("A New Image", image)
cv2.waitKey(0)