OpenCV不规则ROI提取
提取不规则感兴趣区域
void anomalyRoi(Mat &src, Mat &dst)
{Mat original = src.clone();//高斯滤波GaussianBlur(original, original, Size(3, 3), 11, 11, 4);//灰度化cvtColor(original, original, COLOR_RGB2GRAY);//二值化Mat threshold_image;threshold(original, threshold_image, 90, 225, 3);//形态学操作,Size的第个值是水平方向,第二值是垂直方向Mat morphologyKernel = getStructuringElement(MORPH_RECT, Size(1, 3));//闭运算morphologyEx(threshold_image, threshold_image, CV_MOP_CLOSE, morphologyKernel);Canny(threshold_image, threshold_image, 45, 45 * 3);imshow("Canny", threshold_image);vector<vector<Point>> contours;vector<Vec4i> hireachy;//找轮廓findContours(threshold_image, contours, hireachy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE, Point(-1, -1));int flag_count = 0;///vector< vector<Point>> contours_poly(contours.size());//建一个全黑的图像Mat show_threImage = Mat::zeros(threshold_image.size(), CV_8UC3);double s_area = 0;for (size_t i = 0; i < contours.size(); i++){//在全黑的图像上画轮廓drawContours(show_threImage, contours, static_cast<int>(i), Scalar(255, 255, 255), 2, 8, hireachy, 0, Point()); //利用面积进行判断是否为最大区域double area = contourArea(contours[i]);if (s_area < area){s_area = area;}else{s_area = s_area;}if (area == s_area){flag_count = static_cast<int>(i);}else{flag_count = flag_count;}}imshow("Draw_Image_Contours", show_threImage);Mat gray(src.size(), src.type(), Scalar(0, 0, 0));drawContours(gray, contours, flag_count, Scalar(255, 255, 255), 4, 8, hireachy, 0, Point());namedWindow("gray", 0);imshow("gray", gray);//为了找内部的一个漫水填充的种子点Rect s = boundingRect(contours[flag_count]);//黑色区域变成白色,遇到白色区域停止floodFill(gray, Point(s.x + s.width / 2, s.y + s.height / 2), Scalar(255,255,255));bitwise_and(src, gray, dst);
}
OpenCV不规则ROI提取相关推荐
- mat opencv 修改roi_OpenCV中如何提取不规则ROI区域
点击上方"计算机视觉life",选择"星标" 快速获得最新干货 什么是ROI ROI是英文Region Of Interest的三个首字母缩写,很多时候我们对图 ...
- 实战解惑 | OpenCV中如何提取不规则ROI区域
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 什么是ROI ROI是英文Region Of Interest的三 ...
- OpenCV 提取不规则ROI区域
目录 什么是ROI 提取ROI区域 方法一: 方法二: 实际应用演示 原文出处: https://mp.weixin.qq.com/s/MiHz2zLBif_s1lksQXLBbw 微信公众号:Ope ...
- 【opencv-python不规则多边形 ROI提取】
opencv-python不规则多边形 ROI提取 import cv2import numpy as np import joblibpts = [] # 用于存放点# 统一的:mouse call ...
- opencv使用cvFindContours提取联通域
转自:http://hi.baidu.com/irmosgarden/blog/item/8ce0174c54b307fad72afcbc.html // m_imgFeature为黑白目标图像,白色 ...
- 基于OpenCV的特定区域提取
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 今天我们将一起探究如何使用OpenCV和Python从图像中提取感 ...
- opencv 手选roi区域_【OpenCV】选择ROI区域
问题描述:在测试目标跟踪算法时,需要选择不同区域作为目标,进行目标跟踪,测试目标跟踪的效果. 解决思路: 1.OpenCV中提供了鼠标交互控制,利用setMouseCallback()给固定的窗口设置 ...
- 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
- 《OpenCv视觉之眼》Python图像处理十四 :Opencv图像轮廓提取之Scharr算法和Canny算法
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
最新文章
- 在vscode中使用pylint-django插件解决pylint的一些不必要的错误提示【转】
- Web应用里的HTTP参数污染(HPP漏洞)
- python大于等于怎么表示_如何在rejectdb中应用python lambda表达式中的大于等于
- formal method lecture 2: propositional logic
- matlab光盘映像文件可以删除吗_DVD-Cloner 2020 for mac(DVD光盘刻录工具) 7.00.715
- CF 1475 D. Cleaning the Phone 思维模型
- [渝粤教育] 西南科技大学 电子设计EDA 在线考试复习资料
- 2.MongoDB基本操作
- python r语言 作图_生物医学绘图,Python 并不比R语言差
- CentOS系统使用yum安装配置MariaDB数据库
- Linux上使用Cron启动定时任务
- linux rz sz putty,PuTTY xshell rz sz命令实现上传下载到windows的方法
- Java 多态性理解
- cass坡度土方计算案例_cass7.0土方计算详解
- 苹果拼图软件测试,装机必备软件评测:DSM记事本iPhone版
- 双系统时间不一致解决方案
- 用计算机刻录光盘,刻录光盘,教您如何使用计算机将文件刻录到光盘上.
- android 颜色透明度16进制换算
- yocto编译linux,好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版
- MySQL-基础练习题1