91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

大津法及最優迭代求分割閾值(opencv2),采用了該文獻中的代碼思想并作了修改。大津法OSTU:http://blog.csdn.net/guoyk1990/article/details/7606032 迭代的最優閾值選擇:http://blog.csdn.net/lichengyu/article/details/4775974 ,這篇文中附的代碼有問題,做了修改。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“iostream“
#include?“opencv2/opencv.hpp“

using?namespace?cv;
using?namespace?std;

///?函數迭代法求閾值輸入灰度圖像,返回最優閾值
int?LQIterationThreshold(Mat&?src)
{
CV_Assert(1?==?src.channels());
int?width?=?src.cols;
int?height?=?src.rows;

int?temp?=?0?Threshold?=?0;//Threshold是閾值?
int?Ub?=?0?Uo?=?0;//Ub是背景的平均值,Uo是目標的平均值?
int?Number_black?=?4?Number_object?=?0;//nUb是背景區域像素的數目nUb是背景區域像素初始為4,nUo是目標區域像素的數目??
Number_object?=?width?*?height?-?Number_black;?
Ub?=?(int)(src.at(00)?+?src.at(0width-1)?+?src.at(height-10)?+?
src.at(height-1width-1))?/?Number_black;

Uo?=?Uo?-?Ub?*?Number_black;?
Uo?/=?Number_object;?
Threshold?=?(Ub?+?Uo)?/?2;?
while(temp?!=?Threshold)?
{?
Ub?=?0;?
Uo?=?0;?
Number_black?=?0;?
Number_object?=?0;?
for?(int?y=0;y {?
uchar*?srcdata?=?src.ptr(y);
for?(int?x=0;x {?

if((int)srcdata[x]? {?
Ub?+=?(int)srcdata[x];?
Number_black++;?
}?
else?
{?
Uo?+=?(int)srcdata[x];?
Number_object++;?
}?
}?
}????
Ub?/=?(Number_black?+?1);?
Uo?/=?(Number_object?+?1);?
temp?=?Threshold;?
Threshold?=?(Ub?+?Uo)?/?2;????
}?
return?Threshold;
}

///?最優迭代法求閾值,輸入灰度圖,輸出二值化圖像
void?ThreIteration(Mat?&src?Mat?&dst)
{
CV_Assert(1?==?src.channels());
int?width?=?src.cols;
int?height?=?src.rows;
dst.create(src.size()?CV_8UC1);

int?temp?=?0?Threshold?=?0;//Threshold是閾值?
int?Ub?=?0?Uo?=?0;//Ub是背景的平均值,Uo是目標的平均值?
int?Number_black?=?4?Number_object?=?0;//nUb是背景區域像素的數目nUb是背景區域像素初始為4,nUo是目標區域像素的數目??
//Number_black?=?4;?//
Number_object?=?width?*?height?-?Number_black;?
Ub?=?(int)(src.at(00)?+?src.at(0width-1)?+?src.at(height-10)?+?
src

評論

共有 條評論