- 博客(8)
- 收藏
- 关注
原创 线性图形混合
图像混合即图形叠加。使用addWeighted函数(线性)可以做到将两幅图形合并成一副图像,其各副图像所占比例。实现两张图片的线性融合。这里α 表示两种图片的融合比例,这个g(x) 表示 融合图片中的像素点,f0(x) 和 f1(x) 分别表示背景和前景图片中的像素点。一、相同通道数(RGB/RGB,GRAY/GRAY)1、对于相同尺寸(像素及通道数)的图形
2017-04-11 15:25:32
816
原创 获取图像像素方法汇总
图像操作最基础的还是对像素获取及变换,也就相当于对矩阵中的元素的操作,使用不同的方法所用的时间也相差甚大。以下有几种方法:1、指针操作(1)双重循环,遍历图像所有的像素值for(int i = 0;i < rowNumber;i++) //行循环 { uchar* data = outputImage.ptr(i); //获取第i行的首地址 for(int j = 0
2017-04-10 22:00:36
3417
原创 opencvc函数(三)
自定义的绘制图形函数1、【DrawEllipse( )函数】 自定义的绘制函数,实现了绘制不同角度、相同尺寸的椭圆。 声明:void DrawEllipse( Mat img, double angle );//绘制椭圆 定义:void DrawEllipse( Mat img, double angle ){ int thickness = 2; int lineTy
2017-04-09 22:31:10
353
原创 opencv函数(二)
1.Mat中的构造函数Mat是一个非常优秀的图像类,它同时也是一个通用的矩阵类,可以用来创建和操作多维矩阵。Mat类提供了一系列构造函数,可以方便的根据需要创建Mat对象。 Mat(); Mat(int rows, int cols, int type); Mat(Size size, int type); Mat::operator=(const Sca
2017-04-09 21:55:32
585
原创 opencv 函数(一)
1、图像叠加addWeighted声明:cvAddWeighted( const CvArr* src1, double alpha, const CvArr* src2, double beta, double gamma, CvArr* dst );src1 //第一个原数组.alpha //第一个数组元素的权值 src2 //第二个原数组 beta
2017-04-07 15:38:21
364
原创 imread函数、窗口函数、imshow函数、imwrite函数等
1.imread函数 首先,我们看imread函数,可以在OpenCV官方文档中查到其原型如下: Mat imread(const string& filename, int flags=1 );其中,第一个参数,const string&类型的filename,填我们需要载入的图片路径名。在Windows操作系统下,OpenCV的imread函数支持如下类型的图像载入:
2017-04-07 10:34:31
2066
原创 opencv中Matx类和Vec类
Matx类和Vec类 Matx类:类模板:template class Matx typedef _Tp value_type; typedef Matx mat_type; typedef Matx diag_type; Matx整
2017-04-06 22:25:03
1820
翻译 C++笔记(一)
#ifndef 在头文件中的作用 在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。 方法:例如要编写头文件test.h 在头文件开头写上两行:#ifndef _TEST_H /
2017-04-04 19:27:07
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人