您的位置:首页 > 其它

cv::add(img1,img2,result,mask);

2016-07-07 08:46 267 查看
#include <stdio.h>

#include "opencv2/core/core.hpp"

#include "opencv2/features2d/features2d.hpp"

#include "opencv2/highgui/highgui.hpp"

#include "opencv2/nonfree/nonfree.hpp"

#ifndef _DEBUG

#pragma  comment(lib,"IlmImf.lib")  

#pragma  comment(lib,"libjasper.lib")   

#pragma  comment(lib,"libjpeg.lib")  

#pragma  comment(lib,"libpng.lib")      

#pragma  comment(lib,"libtiff.lib") 

#pragma  comment(lib,"zlib.lib")  

#pragma  comment(lib,"opencv_calib3d2411.lib")

#pragma  comment(lib,"opencv_contrib2411.lib")

#pragma  comment(lib,"opencv_core2411.lib")

#pragma  comment(lib,"opencv_features2d2411.lib")

#pragma  comment(lib,"opencv_flann2411.lib")

#pragma  comment(lib,"opencv_gpu2411.lib")

#pragma  comment(lib,"opencv_highgui2411.lib")

#pragma  comment(lib,"opencv_imgproc2411.lib")

#pragma  comment(lib,"opencv_legacy2411.lib")

#pragma  comment(lib,"opencv_ml2411.lib")

#pragma  comment(lib,"opencv_nonfree2411.lib")

#pragma  comment(lib,"opencv_objdetect2411.lib")

#pragma  comment(lib,"opencv_ocl2411.lib")

#pragma  comment(lib,"opencv_photo2411.lib")

#pragma  comment(lib,"opencv_stitching2411.lib")

#pragma  comment(lib,"opencv_superres2411.lib")

#pragma  comment(lib,"opencv_ts2411.lib")

#pragma  comment(lib,"opencv_video2411.lib")

#pragma  comment(lib,"opencv_videostab2411.lib")

#else

#pragma  comment(lib,"zlibd.lib")

#pragma  comment(lib,"IlmImfd.lib")

#pragma  comment(lib,"libjasperd.lib")

#pragma  comment(lib,"libjpegd.lib")

#pragma  comment(lib,"libpngd.lib")

#pragma  comment(lib,"libtiffd.lib")

#pragma  comment(lib,"opencv_calib3d2411d.lib")

#pragma  comment(lib,"opencv_contrib2411d.lib")

#pragma  comment(lib,"opencv_core2411d.lib")

#pragma  comment(lib,"opencv_features2d2411d.lib")

#pragma  comment(lib,"opencv_flann2411d.lib")

#pragma  comment(lib,"opencv_gpu2411d.lib")

#pragma  comment(lib,"opencv_highgui2411d.lib")

#pragma  comment(lib,"opencv_imgproc2411d.lib")

#pragma  comment(lib,"opencv_legacy2411d.lib")

#pragma  comment(lib,"opencv_ml2411d.lib")

#pragma  comment(lib,"opencv_nonfree2411d.lib")

#pragma  comment(lib,"opencv_objdetect2411d.lib")

#pragma  comment(lib,"opencv_ocl2411d.lib")

#pragma  comment(lib,"opencv_photo2411d.lib")

#pragma  comment(lib,"opencv_stitching2411d.lib")

#pragma  comment(lib,"opencv_superres2411d.lib")

#pragma  comment(lib,"opencv_ts2411d.lib")

#pragma  comment(lib,"opencv_video2411d.lib")

#pragma  comment(lib,"opencv_videostab2411d.lib")

#endif

using namespace cv;

static void help()

{

    printf("\nThis program demonstrates using features2d detector, descriptor extractor and simple matcher\n"

            "Using the SURF desriptor:\n"

            "\n"

            "Usage:\n matcher_simple <image1> <image2>\n");

 getchar();

}

int main(int argc, char** argv)

{

   /* if(argc != 3)

    {

        help();

        return -1;

    }*/

    Mat img1 = imread("boldt.jpg", CV_LOAD_IMAGE_GRAYSCALE);//imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);

    Mat img2 = imread("rain.jpg", CV_LOAD_IMAGE_GRAYSCALE); //imread(argv[2]);

 //Mat img2 = imread("rainHalf.jpg");

    if(img1.empty() || img2.empty())

    {

        printf("Can't read one of the images\n");

        return -1;

    }

    Mat result(img1.rows,img1.cols,img1.type());

 cv::addWeighted(img1,1.0,img2,0.7,0.,result);

    imshow("result", result);

    waitKey(0);

 {

  Mat img1 = imread("boldt.jpg");//imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);

  Mat img2 = imread("rain.jpg"); //imread(argv[2], CV_LOAD_IMAGE_GRAYSCALE);

  //Mat img2 = imread("rainHalf.jpg");

  if(img1.empty() || img2.empty())

  {

   printf("Can't read one of the images\n");

   return -1;

  }

  Mat result(img1.rows,img1.cols,img1.type());

  cv::scaleAdd(img1,0.7,img2,result);

  imshow("result", result);

  waitKey(0);

 }

 {

  

     Mat img1 = imread("boldt.jpg");//imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);

  Mat img2 = imread("rain.jpg"); //imread(argv[2], CV_LOAD_IMAGE_GRAYSCALE);

  Mat mask = imread("rainMask.jpg", CV_LOAD_IMAGE_GRAYSCALE);

  //Mat img2 = imread("rainHalf.jpg");

  if(img1.empty() || img2.empty() || mask.empty())

  {

   printf("Can't read one of the images\n");

   return -1;

  }

  cv::add(img1,img2,result,mask);

  imshow("result", result);

  waitKey(0);

 }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: