opencv函数操作对象的一致性问题
来源:互联网 发布:应力分析软件 编辑:程序博客网 时间:2024/06/05 03:44
初衷:
读入一幅图像“woman.jpg”
在图像的红色通道中加入logo,再输出。
logo的文件名为"logo.jpg"
------------------------------------------codes begin----------------------------------------------------
#include <opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main(int argc, char **argv)
{
Mat woman = imread("woman.jpg");
Mat logo= imread("logo.jpg");
Mat ROI;
vector<Mat> channels;
Mat womanR;
namedWindow("woman");
imshow("woman",woman);
namedWindow("logo");
imshow("logo",logo);
split(woman, channels);
womanR = channels.at(0);
ROI = womanR(Rect(100, 100, logo.cols,logo.rows));
addWeighted(ROI,0.5,logo,0.5,0.,ROI);
merge(channels,woman);
namedWindow("womanR+logo");
imshow("womanR+logo",woman);
waitKey(0);
return(0);
}//end of main
------------------------------------------codes end-------------------------------------------------------
第一次运行的时候,在函数addWeighted()处报错。
原因:logo.jpg是读入的三通道图像,而ROI此时是woman.jpg的红色通道数据。
修改方法:
将主函数的第二句代码
Mat logo= imread("logo.jpg");
修改成
Mat logo= imread("logo.jpg",0);
第二次运行,结果正确。
几次运用openCV的结论:
opencv对图像的操作,实际是对矩阵数据的操作,和matlab对图像的操作有类似之处。
因此无论是从数据通道(单通道或多通道)还是维数(尺寸)上,两个参与操作的对象要注意一致。
例如code中的两句代码:
ROI = womanR(Rect(100, 100, logo.cols,logo.rows));
addWeighted(ROI,0.5,logo,0.5,0.,ROI);
第一句也是为了得到在woman.jpg红色通道数据中和logo一样尺寸的感兴趣区域变量ROI,否则在addWeighted()函数在执行时也会出错。
- opencv函数操作对象的一致性问题
- 并发操作的一致性问题
- 数据库并发操作的一致性问题
- 数据库并发操作的一致性问题
- 第2章 并发操作的一致性问题 (1)
- 分类的一致性问题
- cache一致性的问题
- OpenCV中常用的矩阵操作函数
- 【学习OpenCV】矩阵操作的函数
- Opencv的LUT函数-查表操作
- opencv 鼠标操作SetMouseCallback()函数传递用户定义参数的问题
- vector对象的操作函数
- 函数一致性导数的定义
- Nginx的session一致性问题
- OpenCV|OpenCV中C++函数imread读取图片的问题
- OpenCv函数cvLoadImage的使用问题总结
- Opencv 里的solvePnP函数使用问题
- opencv库cvProjectPoints2函数遇到的问题
- Java 容器(四) Map
- 设计模式--策略模式
- Android自定义View解析之视图状态及视图重绘(二)
- 定时器实现定时功能
- 海思3518e mpp2/sample/venc makefile简析
- opencv函数操作对象的一致性问题
- Android Volley完全解析(一),初识Volley的基本用法
- mybatis 之 generator插件使用 集成到了eclipse 自动生成实体,example,mapper
- iOS获取当前年、月、日等信息
- linux下查看和添加PATH环境变量
- [详解嵌套ListView、ScrollView布局显示不全的问题]
- 中国残疾人事业“十二五”发展纲要
- shell 中的各种括号
- maven导入poi配置