#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/opencv.hpp"
#include "opencv2/core/core.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
cv::Mat srcImage = cv::imread("C:\\Users\\LP\\Desktop\\C++\\ConsoleApplication4\\ConsoleApplication4\\1.jpg");
if (srcImage.empty())
{
return -1;
}
//转化为灰度图
cv::Mat srcGray;
cv::cvtColor(srcImage, srcGray, CV_BGR2GRAY);
//转换为二值图像
cv::Mat srcBinary;
cv::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;
}opencv计算图像距离变换
最新推荐文章于 2022-11-25 16:51:34 发布
本文介绍了一种图像处理流程,包括读取图像、灰度转换、二值化处理及距离变换,并展示了使用OpenCV实现这一过程的具体代码。通过该方法可以有效进行图像特征提取和分析。
2443

被折叠的 条评论
为什么被折叠?



