Advertisement

OpenCV-041:Triangle二值查找三角形算法

阅读量:

三角形二值化方法解析

无需手动设定thresh参数,系统将自动完成计算,并将其作为结果返回。

THRESH_OTSU方法在处理具有两个明显波峰的图像时效果最佳。
THRESH_TRIANGLE方法则更适合于仅包含一个波峰的情形,最初该方法被应用于医学图像中细胞的分割任务。


  • 原理:
  1. 将图像转换为灰度形式
  2. 对图像进行灰度直方图的统计计算
  3. 确定直方图中所对应的两个边界区域
  4. 定位直方图中的最高值点
  5. 判断最大波峰是否出现在较亮区域,若否则进行翻转操作
  6. 根据计算得出阈值T,如发生翻转,则最终阈值为255-T
复制代码
    void Threshold(Mat& src, Mat& dst, double thresh) {
    	int bt;
    	//遍历灰度图像,统计灰度级的个数
    	for (int i = 0; i < src.rows; i++)
    	{
    		uchar* p = src.ptr<uchar>(i);
    		uchar* p1 = dst.ptr<uchar>(i);
    		for (int j = 0; j < src.cols; j++)
    		{
    		    bt = p[j];
    			cou

全部评论 (0)

还没有任何评论哟~