创建图像
import cv2
import numpy as np
width = 200 # 图像的宽
height = 100 # 图像的高
# 创建指定宽高、单通道、像素值都为0的图像
img = np.zeros((height, width), np.uint8)
cv2.imshow("img", img) # 展示图像
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
import cv2
import numpy as np
width = 200 # 图像的宽
height = 100 # 图像的高
# 创建指定宽高、单通道、像素值都为1的图像
img = np.ones((height, width), np.uint8) * 255
cv2.imshow("img", img) # 展示图像
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
import cv2
import numpy as np
width = 200 # 图像的宽
height = 100 # 图像的高
# 创建指定宽高、单通道、像素值都为0的图像
img = np.zeros((height, width), np.uint8)
# 图像纵坐标25~75、横坐标50~100之间的区域变为白色
img[25:75, 50:100] = 255
cv2.imshow("img", img) # 展示图像
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
import cv2
import numpy as np
width = 200 # 图像的宽
height = 100 # 图像的高
# 创建指定宽高、单通道、像素值都为0的图像
img = np.zeros((height, width), np.uint8)
for i in range(0, width, 40):
img[:, i:i + 20] = 255 # 白色区域的宽度为20像素
cv2.imshow("img", img) # 展示图像
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
创建彩色图像
import cv2
import numpy as np
width = 200 # 图像的宽
height = 100 # 图像的高
# 创建指定宽高、3通道、像素值都为0的图像
img = np.zeros((height, width, 3), np.uint8)
blue = img.copy() # 复制图像
blue[:, :, 0] = 255 # 1通道所有像素都为255
green = img.copy()
green[:, :, 1] = 255 # 2通道所有像素都为255
red = img.copy()
red[:, :, 2] = 255 # 3通道所有像素都为255
cv2.imshow("blue", blue) # 展示图像
cv2.imshow("green", green)
cv2.imshow("red", red)
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
import cv2
import numpy as np
width = 200 # 图像的宽
height = 100 # 图像的高
# 创建指定宽高、单通道、随机像素值的图像,随机值在0~256之间,数字为无符号8位格式
img = np.random.randint(256, size=(height, width), dtype=np.uint8)
cv2.imshow("img", img) # 展示图像
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
拼接图像
import cv2
import numpy as np
img = cv2.imread("stone.jpg") # 读取原始图像
img_h = np.hstack((img, img)) # 水平拼接两个图像
img_v = np.vstack((img, img)) # 垂直拼接两个图像
cv2.imshow("img_h", img_h) # 展示拼接之后的效果
cv2.imshow("img_v", img_v)
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体