1. 程式人生 > >distanceTransform 距離變換

distanceTransform 距離變換

#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