python opencv 选定图中特定区域,制作掩膜

本文介绍了如何使用Python和OpenCV库选定图像中的特定区域并生成掩膜。通过get_area_points函数标定区域顶点,然后利用这些顶点通过GetArea函数创建掩膜。最终,通过原图与掩膜的按位与操作,可以提取出选定区域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 get_area_points:用来标记特定区域的顶点,按下空格键表示标定完成一个区域,按下enter键表示所有区域标定完成(标记鼠标点击时,要按逆时针或者顺时针顺序标记)
2、GetArea:用get_area_points生成的顶点列表生成掩膜
3、如果想继续得到掩膜画出的区域,只要让原图像和掩膜 按位与 操作即可得到

效果:
在这里插入图片描述
得到掩膜区域
在这里插入图片描述

get_area_points函数代码:

"""
   @Author   : C
   @Time     : 2021/12/29 9:22
   @FileName : GetPoint.py
   @Function :
"""
import cv2


def get_area_points(img):
    count = 1
    a = []
    b = []
    Points = []
    Points_list = []  # 用来放不同的数据

    def on_EVENT_LBUTTONDOWN(event, x, y, flags, param):
        if event == cv2.EVENT_LBUTTONDOWN:
            # 得到一个字符串
            xy = "%d,%d" % (x, y)
            a.append(x)
            b.append(y)
            # 输出颜色
            print('颜色' + str(img[y, x, 0]) + '   ' + str(img[y, x, 1]) + '   ' + str(img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值