c++视觉ROI 区域和ROI 区域图像叠加

news2024/11/17 17:28:39

ROI 区域提取和ROI 区域图像叠加

ROI 区域提取

#include <opencv2/opencv.hpp>

int main() {
	// 读取图像
	cv::Mat image = cv::imread("1.jpg");

	// 检查图像是否成功加载
	if (image.empty()) {
		std::cerr << "Error: Could not read the image." << std::endl;
		return -1;
	}

	// 定义感兴趣区域的矩形
	cv::Rect roiRect(100, 50, 200, 150);

	// 提取感兴趣区域(ROI)
	cv::Mat roi = image(roiRect);

	// 在感兴趣区域上进行操作,例如将其转为灰度
	cv::cvtColor(roi, roi, cv::COLOR_BGR2GRAY);

	// 显示原始图像和修改后的图像
	cv::imshow("Original Image", image);
	cv::imshow("ROI (Gray)", roi);

	// 等待按键
	cv::waitKey(0);

	return 0;
}

在这里插入图片描述

ROI 区域图像叠加

#include <opencv2/opencv.hpp>

int main() {
	// 读取主图像
	cv::Mat image = cv::imread("1.jpg");

	// 读取logo图像
	cv::Mat logo = cv::imread("2.jpg");

	// 检查图像是否成功加载
	if (image.empty() || logo.empty()) {
		std::cerr << "Error: Could not read the image(s)." << std::endl;
		return -1;
	}

	// 定义感兴趣区域的矩形
	cv::Rect roiRect(100, 250, logo.cols, logo.rows);

	// 提取感兴趣区域(ROI)
	cv::Mat imageROI = image(roiRect);

	// 将logo复制到感兴趣区域
	logo.copyTo(imageROI);

	// 显示原始图像和修改后的图像
	cv::imshow("Original Image", image);

	// 使用imshow展示了修改后的图像,所以注释掉了之前的代码行
	// cv::imshow("ROI with Logo", imageROI);

	// 等待按键
	cv::waitKey(0);

	return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1066682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hadoop集群安装并配置

文章目录 1.安装JDK 环境2.系统配置2.1修改本地hosts文件2.2创建hadoop 用户2.2 设置ssh免密&#xff08;使用hadoop 用户生成&#xff09; 3.安装 hadoop 3.2.43.1 安装hadoop3.1.1 配置Hadoop 环境变量 3.2配置 HDFS3.2.1 配置 workers 文件3.2.2 配置hadoop-env.sh3.2.3 配置…

【数字化转型】10大数字化转型能力成熟度模型01(IOMM)

一、前言 数字化转型是数据化能力建设的目标和价值&#xff0c;作为一个新兴的课题&#xff0c;目前为止并未出现一个统一的数字化转型成熟度模型。不同的企业和机构&#xff0c;根据自身的发展和认知&#xff0c;推出了自己的企业级或者准行业级标准。这些标准具有很强的参考意…

一本没有任何数学公式的自然语言处理入门书

ChatGPT 时代来了&#xff0c;AI 从旧时王谢堂前燕&#xff0c;飞入寻常百姓家。越来越多非 AI 领域 的软件开发者涌进 NLP(自然语言处理)领域。在这个快速发展的时代&#xff0c;如果这些软件开发 者要像读书那样先读 4 年本科、2 年硕士、3 年博士才能搞 AI&#xff0c;风口早…

Python:温度转换(摄氏度与华氏度)

Python:温度转换&#xff08;摄氏度与华氏度&#xff09; TempStrinput("请输入带有符号的温度值&#xff1a;") if TempStr[-1] in [F,f]:C(eval(TempStr[0:-1])-32)/1.8print("转换后的温度是{:.2f}C".format(C)) elif TempStr[-1] in[C,c]:F1.8*eval(T…

在Android中实现动态应用图标

在Android中实现动态应用图标 你可能已经遇到过那些能够完成一个神奇的技巧的应用程序——在你的生日时改变他们的应用图标&#xff0c;然后无缝切换回常规图标。这是一种引发你好奇心的功能&#xff0c;让你想知道&#xff0c;“他们到底是如何做到的&#xff1f;”。嗯&…

【EI会议征稿】第三届智慧交通、能源与动力国际学术会议(STEP 2023)

第三届智慧交通、能源与动力国际学术会议&#xff08;STEP 2023&#xff09; 2023 3rd International Conference on Smart Transportation, Energy and Power 第三届智慧交通、能源与动力国际学术会议 (STEP 2023) 将于2023年12月15-17日在中国三亚市隆重举行&#xff0c;会议…

使用vite+npm封装组件库并发布到npm仓库

组件库背景&#xff1a;使用elementplusvue封装了一个通过表单组件。通过JSX对el-form下的el-input和el-button等表单进行统一封装&#xff0c;最后达到&#xff0c;通过数据即可一键生成页面表单的功能。 1.使用vite创建vue项目 npm create vitelatest elementplus-auto-form…

Linux基础工具

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; C&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大…

【轻松玩转MacOS】基本操作篇

引言 本文是系列的开篇&#xff0c;我将为大家介绍MacOS的基本操作。对于初次接触MacOS的用户来说&#xff0c;掌握这些基本操作是必不可少的。无论是启动和关机&#xff0c;还是使用键盘和鼠标&#xff0c;或者是快捷键的使用&#xff0c;这些基本操作都是你开始使用MacOS的第…

三星发布 Galaxy SmartTag 2

三星近日发布了一款新品 —— Galaxy SmartTag 2 追踪器&#xff0c;该款产品采用了全新的椭圆设计以取代上代 SmartTag 的菱形设计&#xff0c;这款的钥匙孔也比上代更大&#xff0c;并采用了金属圆环以防止磨损。 这款产品有黑、白2种颜色可供选择&#xff0c;支持 IP67 级防…

网络原理 - 详解

一&#xff0c;网络通信基础 1.1 IP地址 描述一个设备在网络上的地址&#xff0c;一般使用4个0~255之间的数字&#xff0c;并且使用三给 . 进行分割&#xff0c;如&#xff1a;127.0.0.0 1.2 端口号 端口号是一个2个字节的整数&#xff0c;用来区分一个主机上的不同应用程序…

全面解析HTTP协议

当谈到网络通信和Web开发时&#xff0c;HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一个非常重要的协议&#xff0c;它是用于在Web浏览器和服务器之间传输数据的基础协议。 什么是HTTP协议&#xff1f; HTTP是一种应用层协议&#xff0c;用于在客户端和服务器…

吸烟检测Y8N,支持C++,PYTHON,ANDROID

吸烟检测Y8N&#xff0c;支持C,PYTHON,ANDROID 现在&#xff0c;深度学习已经非常流行&#xff0c;最新出来的YOLOV8&#xff0c;更是将精度和速度达到极限。训练一个目标很简单&#xff0c;首先&#xff0c;标记图片&#xff1b;然后训练得到PT模型&#xff1b;最后转换成ONNX…

烟花爆竹厂如何做到0风险0爆炸事故?AI+视频监控平台给出答案

由于烟花爆竹具有易燃易爆风险&#xff0c;稍有不慎就会发生严重事故&#xff0c;而烟花爆竹厂区作为大量烟花爆竹存放地点&#xff0c;厂区面积大、工作人员杂乱&#xff0c;甚至有很多厂区原料存放不当&#xff0c;给日常的安全管理带来极大的压力&#xff0c;利用信息化手段…

掌动智能:性能压力测试的重要性

采用性能压力测试可以帮助企业预估系统容量、提升用户体验以及降低风险和成本。在软件开发过程中&#xff0c;将性能压力测试纳入测试策略的重要一环&#xff0c;将为企业的成功和用户满意度打下坚实的基础。 性能压力测试的重要性&#xff1a; 一、发现性能瓶颈 性能压力测试能…

【Linux】信号屏蔽与信号捕捉的原理与实现(附图解与代码)

这一篇的篇幅可能有点长&#xff0c;如果已经了解了以下两个知识点的同学可以自行跳到第三部分——信号屏蔽的实现。 不太了解的同学希望你们能够静下心来看完&#xff0c;相信一定会有不小的收获。那么话不多说&#xff0c;我们这就开始啦&#xff01;&#xff01;&#xff0…

企业防止泄密,应该做到哪些?(防止数据泄露的方法有哪些)

随着信息化时代的快速发展&#xff0c;信息泄露问题越来越普遍。一个数据泄露事件就可能导致企业巨额损失&#xff0c;甚至影响用户的安全和隐私。因此&#xff0c;如何防止失泄密问题的发生是企业和个人都需要重视的事情。下面介绍一些具体的方法和措施来防止失泄密问题发生。…

FR问题记录

1. 问题&#xff1a;下拉框搜索查询时&#xff0c;出现所有的搜索信息 解决方法&#xff1a;使用数据集sql进行数据筛选 在数据库查询中使用where条件筛选&#xff0c;如 ${IF(LEN(所属省份) 0,"","AND province in (" 所属省份 ")")}参考…

百度统计统计第三方网站的浏览量和访问量

百度统计简介 百度统计——领先的中文网站分析平台 百度统计是百度推出的一款免费的专业网站流量分析工具&#xff0c;能够告诉用户访客是如何找到并浏览用户的网站&#xff0c;在网站上做了些什么&#xff0c;有了这些信息&#xff0c;可以帮助用户改善访客在用户的网站上的…

【单调栈】下一个更大元素 I

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;暴力枚举方法二&#xff1a;单调栈哈希表 知识回顾单调栈 写在最后 Tag 【单调栈哈希表】【数组】 题目来源 496. 下一个更大元素 I 题目解读 找出 nums1 中数字 x 在 nums2 中的位置&#xff0c;并找出在 nums2 中比…