distanceTransform 距離變換
阿新 • • 發佈:2019-02-15
#include <opencv2/imgproc/imgproc.hpp> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> int main() { cv::Mat srcImage = cv::imread("22.jpg"); if( !srcImage.data ) return -1; // 轉換為灰度影象 cv::Mat srcGray; cvtColor(srcImage, srcGray, CV_BGR2GRAY); // 轉換為二值影象 cv::Mat srcBinary; threshold(srcGray, srcBinary, 160, 255,cv::THRESH_BINARY); // 距離變換 cv::Mat dstImage; cv::distanceTransform(srcBinary, dstImage, CV_DIST_L2, CV_DIST_MASK_PRECISE); // 歸一化矩陣 cv::normalize(dstImage, dstImage, 0, 1., cv::NORM_MINMAX); cv::imshow("srcBinary", srcBinary); cv::imshow("dstImage", dstImage); cv::waitKey(0); return 0; }
轉載:http://blog.csdn.net/zhuwei1988