首先我们了解,一个图像,都是一个大的二维数组,每一个元素都是一个像素,若是rgb图像,则该像素还会有rgb三个值,我们读入一个图像
import cv2
img = cv2.imread("open.png", 1) #通过opencv的imread读取图像,后边是1表示是读取彩色图像,在opencv中,用bgr来表示,这和rgb刚好反过来
(b, g, r) = img[100, 100] # 获取图片上[100, 100]这个位置的像素值
print(b, g, r) #通过打印我们可以看到他的像素值是多少
可以看出来他的值是255, 255, 255
,这个点就是白色,我们把这个点变成红色,然后显示出来
img = cv2.imread("open.png", 1)
(b, g, r) = img[100, 100]
print(b, g, r)
img[100, 100] = (0, 0, 255) #把这个位置的bgr该成红色的
cv2.imshow("test",img) # 展示出来
cv2.waitKey(0)
emmm,你们看,紫色框框里有一个小红点,很小的(滑稽)
当然我们也可以划线如下
img = cv2.imread("open.png", 1)
(b, g, r) = img[100, 100]
print(b, g, r)
for i in range(100, 201):
img[i][100] = (0, 0, 255)
cv2.imshow("test",img)
cv2.waitKey(0)