opencv图像叠加
来源:互联网 发布:java available的用法 编辑:程序博客网 时间:2024/06/05 10:43
cmakelists:
cmake_minimum_required(VERSION 3.7)project(ROI)set(CMAKE_CXX_STANDARD 11)find_package(OpenCV REQUIRED)include_directories(${OpenCV_DIRS})set(SOURCE_FILES main.cpp)add_executable(ROI ${SOURCE_FILES})target_link_libraries(ROI ${OpenCV_LIBS})
程序:
#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;int main(){ //读入两张图像,原始图和logo图 Mat src_image1 = imread("ubuntu.png"); Mat logo_image = imread("2.png"); //通过Rect()指定一块ROI区域,注意这里是列和行,并且要跟要贴入的图像一样大小。这一步有点像建立一个指向特定区域的指针,因为=是浅复制 Mat ROI = src_image1(Rect(10, 20, logo_image.cols, logo_image.rows)); //Mat ROI = src_image1(Rect(10, 20, 100, 100));//像这样是不行的,大小必须对应好 //这里将logo_image复制给ROI就好了 logo_image.copyTo(ROI); //ROI=logo_image.clone();//这种clone的方式不好用 imshow("图像叠加", src_image1); waitKey(0); //总体的流程就是定义一块ROI,然后把logo图copy至ROI就好了。 //addWeighted()函数,加权重叠 Mat src_image2 = imread("ubuntu.png"); Mat mclaren_image = imread("mclaren.jpg"); //这里输出一下尺寸和通道数,后面的函数要求通道数一样 cout<<src_image2.rows<<"*"<<src_image2.cols<<":"<<src_image2.channels()<<endl; cout<<mclaren_image.rows<<"*"<<mclaren_image.cols<<":"<<mclaren_image.channels()<<endl; Mat ROI2 = src_image2(Rect(10, 20, mclaren_image.cols, mclaren_image.rows)); //参数:第一幅图,第一幅图权重,第二幅图,第二幅图权重,0,重叠后输出到的图像 //注意这里的三幅图要大小要一样,通道数要一样,不然报错 //两幅图的权重相加要为1,效果就是两张图叠加时有渐显透明效果,如果一幅图为1了,那就是全覆盖 addWeighted(ROI2, 0.5, mclaren_image, 0.5, 0, ROI2); imshow("图像叠加", src_image2); waitKey(0); return 0;}
阅读全文
0 0
- opencv图像叠加
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- OpenCV ROI区域图像叠加
- Opencv 图像叠加 添加水印
- opencv 图像叠加滚动条
- opencv感兴趣区图像叠加
- Opencv ROI区域图像叠加
- opencv 图像叠加ROI & 图像混合
- opencv彩色图像与灰度图像叠加
- OpenCV之ROI图像叠加和混合
- 利用OpenCV实现图像的叠加
- Opencv 图像叠加 添加水印
- [转]利用OpenCV实现图像的叠加
- Opencv ---- ROI区域图像叠加 & 初级图像混合
- opencv转换颜色表示法
- running beyond virtual/physical memory limits问题解决
- mysql显示[Warning] IP address 'xxxx' could not be resolved: Name or service not known错误解决
- Maven私服的搭建
- kinect骨骼追踪
- opencv图像叠加
- NOIP 2003 提高组 复赛 加分二叉树
- 快速工作术
- C++通过Wininet库提交POST信息登录到PHPChina中文开发者社区
- 交叉证书
- ~
- Apollo分布式配置中心系统
- php中->和=>操作符的区别
- 递归、StringBuilder中reverse()对数据进行反转