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

【opencv入门教程】3. Rect 类用法

文章选自:
请添加图片描述

一、Background

一个矩形对象包括x,y,width,height,即在x轴起点(一般为0)y轴起点(一般为0)宽度和高度。
在这里插入图片描述

二、Code

void Samples::RectFunc()
{
  Mat  image = imread("printer_chip_01.bmp");
  Rect rect1(251, 267, 256, 256);
  Rect rect2(281, 408, 256, 256);
  
  //方法
  std::cout << "x:" << rect1.x << std::endl;
  std::cout << "y:" << rect1.y << std::endl;
  std::cout << "width:" << rect1.width << std::endl;
  std::cout << "height:" << rect1.height << std::endl;

  std::cout << "左上坐标:" << rect1.tl() << std::endl;
  std::cout << "右下坐标:" << rect1.br() << std::endl;
  std::cout << "rect size:" << rect1.size() << std::endl;
  std::cout << "rect area:" << rect1.area() << std::endl;
  std::cout << "rect is empty:" << rect1.empty() << std::endl;
  std::cout << "检测该矩形是否包含点:" << rect1.contains(Point(251, 267)) << std::endl;


  // 将image中rect1的部分复制到roi1中
  Mat roi1;
  image(rect1).copyTo(roi1); 
  imshow("roi1", roi1);
  waitKey(0);

  // 将image中rect2复制到roi2中
  Mat roi2;
  image(rect2).copyTo(roi2); 
  imshow("roi2", roi2);
  waitKey(0);

  // rect1和rect2的交集
  cv::Rect rect3 = rect1 & rect2; 
  Mat roi3;
  image(rect3).copyTo(roi3);
  imshow("roi3", roi3);
  waitKey(0);

  // rect1和rect2的并集(两幅图的最小外接矩形)
  Rect rect4 = rect1 | rect2; 
  Mat  roi4;
  image(rect4).copyTo(roi4);
  imshow("roi4", roi4);
  waitKey(0);

  // 将rect1复制到image的指定区域rect5中
  Rect rect5(465, 267, 300, 300);
  roi1.copyTo(image(rect5)); 
  imshow("roi5", image);
  waitKey(0);
}

三、Result

1.原图
在这里插入图片描述
2.截图
在这里插入图片描述
3. 输出结果
在这里插入图片描述


http://www.kler.cn/a/430254.html

相关文章:

  • 《深度学习模型在鸿蒙分布式框架下的跨设备高效之旅》
  • WEB前端-2
  • 反规范化带来的数据不一致问题的解决方案
  • 论文导读 | 数据库中的连接操作
  • JuiceFS 详解:一款为云原生设计的高性能分布式文件系统
  • rabbitmq——岁月云实战笔记
  • 嵌入式学习(15)-stm32通用GPIO模拟串口发送数据
  • 设计模式-装饰器模式(结构型)与责任链模式(行为型)对比,以及链式设计
  • 大舍传媒-关于海外媒体宣发的探讨
  • 【ONE·基础算法 || 动态规划(四)】
  • Hadoop不同版本的区别
  • apt 包 源 的维护 和缓存 命令
  • github操作学习笔记
  • 内存管理面试常问
  • 【LLM】NSSCTF Round#25 Basic大模型Prompt挑战全解
  • postman-9.12.2 -- 安装包及汉化包
  • VAS1260Q奇力LED驱动芯片DCDC降压恒流可替代Diodes8860
  • 浙江省有一级科技查新机构吗?
  • 【Homework】【8】Learning resources for DQ Robotics in MATLAB
  • PHP:实现两张无关联表数据的联合分页处理方案
  • 我们跟面试训练营不冲突
  • 深度学习基础--yolov5网络结构简介,C3模块构建
  • 国内外网络安全政策动态(2024年11月)
  • 科技绽放-EtherCAT转Profinet网关智能连接项目
  • 功能篇:JAVA实现自定义注解
  • 记账管理系统网页版