图像距离变换:计算图像中每一个非零点距离离自己最近的零点的距离,然后通过二值化0与非0绘制图像。
#include "iostream"
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main()
{
Mat img, dst, dstbin, distancetransform,temp;
img = imread("m3.jpg");
//转为灰度图
cvtColor(img, dst, COLOR_BGR2GRAY);
//二值化,找出目标区域
threshold(dst, dstbin, 150, 255, THRESH_BINARY);
//图像距离
distanceTransform(dstbin, distancetransform, 1, 3, CV_32F);
//二值化
threshold(distancetransform, temp, 0, 255, THRESH_BINARY);
waitKey(0);
return 1;
}
非0到最近0的最近距离(街区)