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

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

ROI 区域提取

cpp 复制代码
#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 区域图像叠加

cpp 复制代码
#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;
}
相关推荐
十间fish13 分钟前
STL温故知新
c++
西红柿煎蛋23 分钟前
C++/const
c++
西红柿煎蛋25 分钟前
Virtual析构函数
c++
淮北49432 分钟前
STL学习(四、队列和堆栈)
开发语言·c++·学习
230L1_78M69Q5487H36 分钟前
【基于OpenCV的图像处理】图像预处理之二值化处理以及图像的仿射变换
图像处理·opencv·计算机视觉
落羽的落羽1 小时前
【C++】论如何封装红黑树模拟实现set和map
数据结构·c++·学习
格林威1 小时前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现卫星图像识别(C#代码,UI界面版)
人工智能·深度学习·数码相机·yolo·计算机视觉
mrbone112 小时前
C++-一篇文章入门coroutines协程
c++
从0至12 小时前
C++编程入门:从基础到复合类型
开发语言·c++
guozhetao3 小时前
【ST表、倍增】P7167 [eJOI 2020] Fountain (Day1)
java·c++·python·算法·leetcode·深度优先·图论