xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

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

資源截圖

代碼片段和文件信息

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

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

///?函數(shù)迭代法求閾值輸入灰度圖像,返回最優(yōu)閾值
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是目標(biāo)的平均值?
int?Number_black?=?4?Number_object?=?0;//nUb是背景區(qū)域像素的數(shù)目nUb是背景區(qū)域像素初始為4,nUo是目標(biāo)區(qū)域像素的數(shù)目??
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;
}

///?最優(yōu)迭代法求閾值,輸入灰度圖,輸出二值化圖像
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是目標(biāo)的平均值?
int?Number_black?=?4?Number_object?=?0;//nUb是背景區(qū)域像素的數(shù)目nUb是背景區(qū)域像素初始為4,nUo是目標(biāo)區(qū)域像素的數(shù)目??
//Number_black?=?4;?//
Number_object?=?width?*?height?-?Number_black;?
Ub?=?(int)(src.at(00)?+?src.at(0width-1)?+?src.at(height-10)?+?
src

評(píng)論

共有 條評(píng)論