【发布时间】:2016-08-09 14:38:48
【问题描述】:
我想减去两个灰度图像(CV_8UC1)并得到它们的符号差作为结果(CV_16SC1)。
我已经尝试了下面的代码,但我得到了一个 CV_8UC1 矩阵的差异,该矩阵插入了一个签名的 CV_16SC1。
能否请您帮忙正确定义 Mask 矩阵和数据类型参数?
谢谢!
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include "Imagesubstraction.h"
using namespace cv;
using namespace std;
int main(void)
{
Mat M1, M2,Dif;
M1 = imread("../data/difference/a.bmp", CV_LOAD_IMAGE_GRAYSCALE);
M2 = imread("../data/difference/b.bmp", CV_LOAD_IMAGE_GRAYSCALE);
Mat Mask(1024, 1024, CV_8UC1, Scalar(1));
subtract(M1, M2, Dif,Mask,3);
imwrite("../data/difference/c.bmp", Dif);
return 0;
}
【问题讨论】: