opencv3新手编程求助,跪求大神解答

代码如下:
#include
#include
#include

using namespace std;
using namespace cv;

bool MultiChannelBlending();
int main(){
if (MultiChannelBlending()){
cout << endl << "尼玛真费劲!";
}
waitKey();
return 0;
}

bool MultiChannelBlending(){
Mat srcimage;
Mat logoimage;
vector channels;
Mat imageBlueChannel;

srcimage = imread("ray.jpg");
logoimage = imread("灰度图.jpg",0);

if (!srcimage.data){ printf("srcimage读取错误"); return false; };
if (!logoimage.data){ printf("logo读取错误"); return false; };

split(srcimage, channels);

imageBlueChannel = channels.at(0);
addWeighted(imageBlueChannel(Rect(200, 100, logoimage.cols, logoimage.rows)), 1.0,
    logoimage, 0.5, 0, imageBlueChannel(Rect(200, 100, logoimage.cols, logoimage.rows)));

merge(srcimage, channels);

namedWindow("原画+logo蓝色通道");
imshow("原画+logo蓝色通道", srcimage);

return true;

}

小弟在练习opencv,但是运行后会出现这样的问题:0x1011B40E (opencv_world300.dll) (多通道图像混合.exe 中)处有未经处理的异常: 0xC0000005: 写入位置 0x0020002C 时发生访问冲突。

百思不得其解,求助大神!

#include
#include
#include
头文件没有打进去