当前位置: 首页 > news >正文

OpenCV 在ImShow窗体上选择感兴趣的区域

窗体上选择感兴趣ROI区域

在计算机视觉处理中, 通常是针对图像中的一个特定区域进行处理, 有时候这个特定区域需要人来选择, OpenCV 也提供了窗口选择ROI机制.
窗体支持两种选择ROI区域的方法, 一个是单选, 一个是多选, 操作方法如下:

  • 单选: 通过鼠标在屏幕上选择区域, 然后通过"空格键" 或 "回车键"完成确定, 或者通过"C"键取消, 对应的 SelectROI()函数返回一个Rect对象, 如果取消选择, 返回值为 Rect.Empty
  • 多选: 通过鼠标键屏幕上完成多次选择, 每一次是通过"空格键" 或 "回车键"完成确定, 最后一次通过"ESC"结束选择.
  • 单选的函数是 Cv2.SelectROI()
  • 多选的函数是 Cv2.SelectROIs()

测试代码

private void readWriteTest(){string pngFile = @"D:\my_workspace\opencv\images\draw.png";var srcMat = Cv2.ImRead(pngFile, ImreadModes.Color);Cv2.ImShow("srcMat", srcMat);//选择单个 ROIvar rect = Cv2.SelectROI("srcMat", srcMat, true);if (rect != OpenCvSharp.Rect.Empty){Cv2.ImShow("Single ROI", srcMat[rect]);}//选择多个 ROIvar rects = Cv2.SelectROIs("srcMat", srcMat, true);int i = 0;foreach (var myRect in rects){if (myRect != OpenCvSharp.Rect.Empty){i++;Cv2.ImShow($"Mulptie ROI #{i}", srcMat[myRect]);}}Cv2.WaitKey();Cv2.DestroyAllWindows();}

测试结果截图:

http://www.lryc.cn/news/224017.html

相关文章:

  • ubuntu 安装redis详细教程
  • qframework 架构 (作者:凉鞋)使用笔记
  • 【JMeter】定时器分类以及场景介绍
  • Spring Boot 请求/actuator/beans 无法访问 返回404
  • AVD联网
  • [Vue warn]: Missing required prop: “action“
  • Python标准库有哪些
  • 基于ssm的校园办公室报修管理系统
  • 1Panel 升级 Halo报错
  • spring-clound基础开发
  • 基于SSM的劳务外包管理系统的设计与实现
  • uni-app学习笔记(二)
  • 使用axios拦截器解决前端并发冲突问题
  • IPv6详解
  • 【C++干货铺】STL简述 | string类的使用指南
  • 合肥工业大学数字逻辑实验三
  • 【mmrotate】*** is not in the task util registry
  • 使用bitmap实现可回收自增id
  • 0基础学习VR全景平台篇第118篇:利用动作录制器功能避免重复操作 - PS教程
  • 大数据Doris(十九):数据导入(Load)
  • BP神经网络的数据分类——语音特征信号分类
  • 基于SSM+Vue的随心淘网管理系统
  • 大语言模型的关键技术(二)
  • 世界互联网大会领先科技奖发布 百度知识增强大语言模型关键技术获奖
  • 2023.11.09 homework (2)
  • ARMday01(计算机理论、ARM理论)
  • C#中通过LINQtoXML加载、创建、保存、遍历XML和修改XML树
  • 进程管理(二)
  • 数字图像处理 基于numpy库的傅里叶变换
  • scrapy案例教程