opencv通过轮廓点生成闭合图像

前言

有时候需要将某一些点生成闭合的二值图像。记录一下。

cpp 复制代码
// 轮廓点个数
int nrCurvePoints = curContour.nr;
// 轮廓点
DIM2DL* curvePoints = curContour.pts;

std::vector<cv::Point> points; // 轮廓点集合
for (int cntPoint = 0; cntPoint < nrCurvePoints; ++cntPoint)
{
	int x = curvePoints[cntPoint].x;
	int y = curvePoints[cntPoint].y;
	points.emplace_back(cv::Point(x, y));
}

// 轮廓点转Mat
cv::Mat contourImg = cv::Mat::zeros(cv::Size(usW, usH), CV_8UC1);
std::vector<std::vector<cv::Point>> contoursCV;
contoursCV.push_back(points);
cv::fillPoly(contourImg, contoursCV, cv::Scalar(255));

// 保存至io文件夹
std::string savePath(str_ws_US + "io/inContour_flag" + std::to_string(curFlag) + "_index" + std::to_string(index) + ".jpg");
cv::imwrite(savePath, contourImg);
相关推荐
www_pp_几秒前
# 深入解析BERT自然语言处理框架:原理、结构与应用
人工智能·自然语言处理·bert
麻辣香蝈蝈5 分钟前
【Vue3】一文学会动态路由和编程式路由的使用
开发语言·前端·javascript·vue.js
CarryBircks9 分钟前
nvm版本管理下pnpm 安装失败问题解决
前端·vue.js
jndingxin10 分钟前
OpenCV CUDA模块图像过滤------用于创建一个最小值盒式滤波器(Minimum Box Filter)函数createBoxMinFilter()
人工智能·opencv·计算机视觉
Leinwin10 分钟前
借助Azure AI Foundry 如何打造语音交互新体验
人工智能·microsoft·azure
缘友一世38 分钟前
PyTorch可视化工具——使用Visdom进行深度学习可视化
人工智能·pytorch·深度学习
liuyang-neu40 分钟前
目标检测 Sparse DETR(2022)详细解读
人工智能·目标检测·目标跟踪
lilye6641 分钟前
精益数据分析(70/126):MVP迭代中的数据驱动决策与功能取舍
大数据·人工智能·数据分析
chen_song_1 小时前
CUDA的设备,流处理器(Streams),核,线程块(threadblock),线程,网格(‌gridDim),块(block)和多gpu设备同步数据概念
c++·人工智能·计算机视觉·数据挖掘·cuda编程·并行化计算·并行化计算与cuda编程
科技宅说1 小时前
AI炒菜机器人+一酱成菜构建万店一味的“风味引擎”
人工智能·机器人