一.简介
图像处理中的形态学操作用于图像预处理操作(去噪 形状简化) 图像增强(骨架提取 细化 凸包 物体标记) 物体背景分割及物体形态量化等场景
二.腐蚀与膨胀操作
OpenCV 提供了 erode() 进行腐蚀操作
提供了 dilate() 进行膨胀操作
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream> int main() { cv::Mat srcImage = cv::imread("a.jpg"); if (!srcImage.data) return -1; // 灰度化 cv::Mat srcGray; cvtColor(srcImage, srcGray, CV_RGB2GRAY); // 分通道二值化 cv::Mat segDst, dilDst, eroDst; cv::inRange(srcGray, cv::Scalar(0, 0, 100), cv::Scalar(40, 30, 255), segDst); // 定义结构元素 cv::Mat element = cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(5, 5)); // 膨胀操作 cv::dilate(segDst, dilDst, element); // 腐蚀操作 cv::erode(segDst, eroDst, element); cv::imshow("源图像", srcGray); cv::imshow("二值图像", segDst); cv::imshow("膨胀图像", dilDst); cv::imshow("腐蚀图像", eroDst); cv::waitKey(0); return 0; }
原文地址:https://www.cnblogs.com/k5bg/p/11230825.html
时间: 2024-10-10 23:57:21