opencv学习(8)图像加操作
2014-01-07 19:44
316 查看
简单的图像加操作。原图像,从网上找的,网址:http://blog.sina.com.cn/s/blog_b4841cbf0101puzq.html?tj=1
相加结果:
上边这个程序只能加大小和类型相同的图像。实际上图像有专门的相加函数add:
结果:
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { Mat image1 = imread("D:/fodder/8.jpg"); Mat image2 = imread("D:/fodder/9.jpg"); Mat imAdd; if(!image1.data || !image2.data) return -1; imAdd = 0.7 * image1 + 0.3 * image2; namedWindow("相加图像"); imshow("相加图像",imAdd); waitKey(0); destroyAllWindows(); return 0; }
相加结果:
上边这个程序只能加大小和类型相同的图像。实际上图像有专门的相加函数add:
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { Mat image1 = imread("D:/fodder/8.jpg"); Mat image2 = imread("D:/fodder/9.jpg"); Mat imAdd1, imAdd2; if(!image1.data || !image2.data) return -1; //imAdd = 0.7 * image1 + 0.3 * image2;//这样相加前提是两幅图像的大小、类型相同 add(image1,image2, imAdd1); namedWindow("相加图像1"); imshow("相加图像1",imAdd1); imwrite("相加图像1.jpg",imAdd1); add(image1, Scalar(100, 100, 100), imAdd2); namedWindow("相加图像2"); imshow("相加图像2",imAdd2); imwrite("相加图像2.jpg",imAdd2); waitKey(0); destroyAllWindows(); return 0; }
结果:
相关文章推荐
- Linux常用编程工具之ld连接器简介
- APR(Apache Portable Run-time Librarie)介绍
- Apache中的进程剖析(4)
- CodeIngniter form_open()的一个问题
- Apache中的进程剖析(3)
- Apache中的进程剖析(2)
- Apache中的进程剖析(1)
- linux常用编程工具之gcc、make简介
- 主设备号、次设备号
- Linux命令的组成规则及其全拼单词
- Nginx介绍及视频教程
- 命令行程序选项解析函数—getopt
- linux双系统安装时可能会遇见的一些问题
- getopt_long 与 optind
- 0K6410学习之初步移植linux内核
- Hadoop集群监测工具——ganglia安装实例
- drop column与set unused
- OpenGL ES 入门指南 - Getting Started with OpenGL ES
- 【linux】自定义配置debian+openbox
- Jsp 关于普通购物网站实例