前言
这篇文章中主要讲述图像处理基本操作:腐蚀、膨胀和开闭运算。
一、代码
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main()
{
cv::Mat srcMat = imread("C://Users//john//Desktop//1.jpg", 0);
cv::Mat resMat;
cv::Mat res2Mat;
cv::Mat kernel(5, 5, CV_8UC1);
// imshow("src", srcMat);
//threshold(srcMat, resMat, 100, 255, THRESH_BINARY);
adaptiveThreshold(srcMat, resMat, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY_INV, 15, 10);
imshow("res", resMat);
// morphologyEx(resMat, res2Mat, 0, kernel, Point(-1, -1), 1, BORDER_CONSTANT,morphologyDefaultBorderValue());//腐蚀
// morphologyEx(resMat, res2Mat, 1, kernel, Point(-1, -1), 1, BORDER_CONSTANT, morphologyDefaultBorderValue());//膨胀
// morphologyEx(resMat, res2Mat, 2, kernel, Point(-1, -1), 1, BORDER_CONSTANT, morphologyDefaultBorderValue());//开运算
morphologyEx(resMat, res2Mat, 3, kernel, Point(-1, -1), 1, BORDER_CONSTANT, morphologyDefaultBorderValue());//闭运算
imshow("res2", res2Mat);
waitKey(0);
}
总结
1.代码可以直接运行,如有不懂请留言哦。