opencv 图像距离变换 distanceTransform

图像距离变换:计算图像中每一个非零点距离离自己最近的零点的距离,然后通过二值化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的最近距离(街区)

 

猜你喜欢

转载自blog.csdn.net/dwm88888888/article/details/131858919
今日推荐