import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread("E:\\demo\\python\\venv\\Include\\img1.png")
# 获取[100,100]的像素值
px = img[100,100]
print(px)
# 获取某一个点的BGR值中的B
blue = img[100, 100, 0]
print(blue)
# 修改图片的颜色值
img[100,100] = [255,255,255]
px2 = img[100,100]
print(px2)
print("================更好的获取像素值的方式=================")
print(img.item(100,100,2))
#设置像素
img.itemset((100,100,2),111)
print(img.item(100,100,2))
print("================获取图像的属性=================")
# 图片形状
print(img.shape)
# 图像的像素数目
print(img.size)
#数据类型
print(img.dtype)
print("================ROI操作=================")
# 图片拷贝
tre = img[200:300, 300:400]
img[360:500, 500:600] = tre
#获得某个通道的BGR值,此处或许G通道的色值
b = img[:,:,1]
print(b)
#设置R通道为5
img[:,:,2] = 5
b2 = img[:,:,2]
print(b2)
cv2.imshow("myimg", img)
print("================为图像绘制边框=================")
blue = [255,0,0]
imgv2 = cv2.imread("E:\\demo\\python\\venv\\Include\\img1.png")
constant = cv2.copyMakeBorder(imgv2, 10,10,10,10, cv2.BORDER_CONSTANT, value=blue)
# subplot表示位置
plt.subplot(236)
plt.imshow(imgv2, "gray")
plt.title("constant")
plt.show()
cv2.waitKey(0)
cv2.destroyAllWindows()
效果入下图: