opencv之 图像像素操作(如何通过opencv在图像上划线)

首先我们了解,一个图像,都是一个大的二维数组,每一个元素都是一个像素,若是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)

在这里插入图片描述

发布了78 篇原创文章 · 获赞 48 · 访问量 8128

猜你喜欢

转载自blog.csdn.net/weixin_44415928/article/details/104551245
今日推荐