目标:
- 访问像素值并修改它们
- 访问图像属性
- 设置感兴趣区域(ROI)
- 分割和合并图像
一、访问像素值并修改它们
import cv2
img = cv2.imread("image/1.jpg")
print(img.shape)
# 访问像素值
px = img[100, 100]
print(px)
blue = img[100, 100, 0]
print(blue)
# 修改像素值
img[100, 100] = [255, 255, 255]
print(img[100, 100])
# 使用item()访问像素值、使用itemset()修改像素值
# 但要注意item()和itemset()只能对单个像素值进行访问和修改
# px = img.item(100, 100) # 报错,只能对当个像素值进行访问
print(img.item(100, 100, 0)) # item()访问单个像素值
img.itemset((100, 100, 0), 10) # itemset()修改单个像素值
print(img.item(100, 100, 0))
二、访问图像属性
import cv2
img = cv2.imread("image/1.jpg")
print(img.size) # 元素总数
print(img.dtype) # 元素类型
print(img.shape) # 形状
print(img.ndim) # 维度
三、设置感兴趣区域(ROI)
import cv2
img = cv2.imread("image/1.jpg")
roi = img[10:180, 80:220] # 截取感兴趣区域ROI
cv2.imshow("image", img)
cv2.imshow("roi", roi)
cv2.waitKey(0)
cv2.destroyAllWindows()
四、分割和合并图像
import cv2
img = cv2.imread("image/1.jpg")
# 图像拆分
b, g, r = cv2.split(img)
# 图像合并
new_img = cv2.merge((b, g, r))
cv2.imshow("image", img)
cv2.imshow("new image", new_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
网友评论