OpenCV Create Circular Mask 圆形遮罩

简介:

在OpenCV中,比较常见的是矩形遮罩CvRect,没有专门提供圆形的mask,那么我们只能自己写一个来模拟圆形mask的函数,需要提供的参数为原图的大小,以及圆形mask的圆心位置和半径即可,返回一个cv::Mat型的mask,参见代码如下:

// C API
cv::Mat extractCircularMask(CvArr *img, int col, int row, int r) {
    IplImage *roi;
    roi = cvCreateImage(cvGetSize(img), 8, 1);
    cvZero(roi);
    cvCircle(roi, cvPoint(col, row), r, CV_RGB(255, 255, 255), -1, 8, 0);
    return cv::Mat(roi);
}

或者是:

// C++
cv::Mat extractCircularMask(cv::Mat img, int col, int row, int r) {
    cv::Mat cirMask = img.clone();
    cirMask.setTo(cv::Scalar::all(0));
    cv::circle(cirMask, cv::Point(col, row), r, cv::Scalar(255, 255, 255), -1, 8, 0);
    return cirMask;
}

本文转自博客园Grandyang的博客,原文链接:圆形遮罩OpenCV Create Circular Mask ,如需转载请自行联系原博主。

相关文章
|
5月前
|
算法 计算机视觉
OpenCV(三十七):拟合直线、三角形和圆形
OpenCV(三十七):拟合直线、三角形和圆形
253 0
|
5月前
|
计算机视觉 Python
OpenCV中线段、矩形、圆形、多边形的讲解与绘制实战(附Python源码)
OpenCV中线段、矩形、圆形、多边形的讲解与绘制实战(附Python源码)
116 0
|
5月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)
OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)
56 0
|
5月前
|
计算机视觉
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
75 0
|
10月前
|
数据安全/隐私保护 计算机视觉
opencv边缘检测加提取(圆形和矩形)
opencv边缘检测加提取(圆形和矩形)
66 0
|
C# 计算机视觉
C#使用OpenCV剪切图像中的圆形和矩形
本文主要介绍如何使用OpenCV剪切图像中的圆形和矩形。
C#使用OpenCV剪切图像中的圆形和矩形
|
算法 API 计算机视觉
OpenCV 轮廓周围绘制矩形框和圆形框
OpenCV 轮廓周围绘制矩形框和圆形框
217 0
OpenCV 轮廓周围绘制矩形框和圆形框
|
1月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
34 4
|
13天前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
|
2月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)