图像的运算

来源:互联网 发布:恐怖鸟深层网络文章 编辑:程序博客网 时间:2024/05/16 12:13
原理比较简单,就是两幅大小相同的图像进行加减乘除,与或非。这里要说一下,有两个要解释一下,一个是除,表示的是图像求反后相乘,一个是非,只能是图像本身自己玩。

    然后就是说下这几种应用的主要用途,和方法

    算数运算

    加法:一个场景的多幅图像相加求平均——>去除加性噪声

    减法:加了变化的图像减去未变化的图像(掩模图像)——>运动物体检测

    乘法:与二值图像相乘——>去除或提取图像的某部分

    (这个处理完了,有个值超出255的问题,这个解决办法有很多,效果不一样看用的时候怎么选了)

    逻辑运算

   与和或(作用一样放在一起了):模板图像和原图像相与——>提取模板位置子图像

   :图像像素值取反——>可以提高一部分图像的视觉效果

   图像间的加减乘除

void add(InputArray src1, InputArray src2, OutputArray dst,
                  InputArray mask=noArray(), int dtype=-1);

void subtract(InputArray src1, InputArray src2, OutputArray dst,
                       InputArray mask=noArray(), int dtype=-1);

void multiply(InputArray src1, InputArray src2,
                       OutputArray dst, double scale=1, int dtype=-1);

void divide(InputArray src1, InputArray src2, OutputArray dst,
                     double scale=1, int dtype=-1);

void divide(double scale, InputArray src2,
                     OutputArray dst, int dtype=-1);

void scaleAdd(InputArray src1, double alpha, InputArray src2, OutputArray dst);

void addWeighted(InputArray src1, double alpha, InputArray src2,
                          double beta, double gamma, OutputArray dst, int dtype=-1);

这些函数都要求相加的两幅图像具有相同的尺寸,并且像素类型是相同的


与此类似的还有位运算函数:

void bitwise_and(InputArray src1, InputArray src2,
                          OutputArray dst, InputArray mask=noArray());

void bitwise_or(InputArray src1, InputArray src2,
                         OutputArray dst, InputArray mask=noArray());

void bitwise_xor(InputArray src1, InputArray src2,
                          OutputArray dst, InputArray mask=noArray());

void bitwise_not(InputArray src, OutputArray dst,
                          InputArray mask=noArray());

另外一个比较常用的运算是求两幅图像像素的差的绝对值

void absdiff(InputArray src1, InputArray src2, OutputArray dst);

还有些函数是对单幅图像进行操作的,比如对每个像素的值取平方、平方根、对数等。

void sqrt(InputArray src, OutputArray dst);
void pow(InputArray src, double power, OutputArray dst);
void exp(InputArray src, OutputArray dst);
void log(InputArray src, OutputArray dst);

具体参考:http://blog.csdn.net/liyuanbhu/article/details/48916349

                  http://blog.csdn.net/mghhz816210/article/details/37765345



原创粉丝点击