python代码:
import
C++代码:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, const char *argv[])
{
Mat src = imread("./test.png");
if (src.empty()) {
printf("could not load image...n");
return -1;
}
namedWindow("input", WINDOW_AUTOSIZE);
imshow("input", src);
// �Զ���ֵѰ�����ֵ��
Mat gray, binary;
cvtColor(src, gray, COLOR_BGR2GRAY);
adaptiveThreshold(gray, binary, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY, 25, 10);
imshow("binary", binary);
imwrite("./test.png", binary);
waitKey(0);
return 0;
}
OpenCV中的自适应阈值算法主要是基于均值实现,根据计算均值的方法不同分为盒子模糊均值与高斯模糊均值,然后使用原图减去均值图像,得到的差值图像进行自适应分割,相关的API如下:
OpenCV学习笔记代码,欢迎follow:
MachineLP/OpenCV-github.com