1,451
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
namedWindow("src1");
namedWindow("src2");
namedWindow("result");
/*
加载时转成加载灰度图
*/
Mat src1 = imread(".\\1.bmp",0);
Mat src2 = imread(".\\2.bmp",0);
Mat ssrc1,ssrc2,result;
/*
注: 我是在博主这截图的 所以需调整图片大小到一致
*/
resize(src1, ssrc1, Size(700, 600), 0, 0, CV_INTER_LINEAR);
resize(src2, ssrc2, Size(700, 600), 0, 0, CV_INTER_LINEAR);
imshow("src1",ssrc1);
imshow("src2",ssrc2);
//subtract(ssrc1, ssrc2, result);
absdiff(ssrc1, ssrc2, result);
/*
1-- 不进行阈值化得到的就是灰度图 不是二值图像
2-- 但两幅图像相减确实得不到只剩血管的图像,可能两幅图像除了血管还是存在差异吧
*/
threshold(result,result,10,255,0);
imshow("result",result);
if (waitKey(-1) == 27)
{
//break;
}
return 0;
}