OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python

18 篇文章 1 订阅
13 篇文章 1 订阅

OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python

假设现在有一张九宫格图片:

需要把图中的1到9数组用金黄色颜色描点填充。

import cv2
import numpy as np


if __name__=="__main__":
    img = cv2.imread("pic.jpg")
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)  # 色彩空间转换为hsv,分离.
 
    #色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。
    #饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。
    #明度(V),取0-100%。
    #OpenCV中H,S,V范围是0-180,0-255,0-255
    low = np.array([0, 0, 0])
    high = np.array([180, 255, 46])
 
    dst = cv2.inRange(src=hsv, lowerb=low, upperb=high) # HSV高低阈值,提取图像部分区域

    #寻找白色的像素点坐标。
    #白色像素值是255,所以np.where(dst==255)
    xy = np.column_stack(np.where(dst==255))
    print(xy)

    #在原图的红色数字上用 金黄色 描点填充。
    for c in xy:
        print(c)
        #注意颜色值是(b,g,r),不是(r,g,b)
        #坐标:c[1]是x,c[0]是y
        cv2.circle(img=img, center=(int(c[1]), int(c[0])), radius=1, color=(0, 215, 255),thickness=1)  

    cv2.imshow('dst', dst)
    cv2.imshow('result', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

 

结果如图:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangphil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值