#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
cv::Mat src = cv::imread("test.png", cv::IMREAD_COLOR);
cv::imshow("src", src);
/*for (int i = 0; i < src.rows; i++)
{
for (int j = 0; j < src.cols; j++)
{
std::cout << src.at<cv::Vec3b>(i, j) << std::endl;
}
}*/
cv::Mat gray, thres;
cv::cvtColor(src, gray, cv::COLOR_BGR2GRAY);
std::cout << gray.channels() << std::endl;
cv::imshow("gray", gray);
cv::threshold(gray, thres, 20, 255, cv::THRESH_BINARY | cv::THRESH_TRIANGLE);
cv::imshow("thres", thres);
cv::Mat structureElement = cv::getStructuringElement(cv::MorphShapes::MORPH_RECT, cv::Size(2, 2), cv::Point(-1, -1)); //创建结构元
cv::Mat erodedimg;
cv::erode(thres, erodedimg, structureElement);
cv::imshow("erodedimg", erodedimg);
cv::imwrite("r.jpg", erodedimg);
cv::waitKey(0);
system("pause");
return 0;
}