您的位置:首页 > 其它

图像 DFT 变换

2016-11-18 21:05 239 查看
// 通道组建立,
cv::Mat groupMats[] = {cv::Mat_<float>(sizeConvMat),
cv::Mat::zeros(sizeConvMat.size(), CV_32F)};
cv::Mat mergeMat;
// 通道合并
merge(groupMats,2,mergeMat);
// DFT变换
dft(mergeMat, mergeMat);
// 分离通道
split(mergeMat, groupMats);
// 计算幅值
magnitude(groupMats[0], groupMats[1], groupMats[0]);
cv::Mat magnitudeMat = groupMats[0].clone();
// 归一化操作幅值加1
magnitudeMat += Scalar::all(1);
// 对数变换
log(magnitudeMat, magnitudeMat);
// 归一化
normalize(magnitudeMat, magnitudeMat, 0, 1, CV_MINMAX);
// 图像类型转换
magnitudeMat.convertTo(magnitudeMat,CV_8UC1,255,0);
cv::imshow("magnitudeMat", magnitudeMat);


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