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

資源簡介

用于對灰度圖像進行二值化分割,采用貝葉斯方法計算閾值

資源截圖

代碼片段和文件信息

//////////////////////////////////////////////////////////////////////////
//??文件名:mybinary.cpp
//
//??圖像二值化函數:
//
//??GetThreshold()????-?計算圖像閾值
//??BinaryGlobal()????-?圖像閾值分割運算
//
//////////////////////////////////////////////////////////////////////////

#include?

//////////////////////////////////////////////////////////////////////////
//
//?函數名稱:
//???ThresholdTrans()
//
//?參數:
//???unsigned?char*?pImage??????-?指向源圖像指針
//???int??lWidth???????????????-?源圖像寬度(象素數)
//???int??lHeight??????????????-?源圖像高度(象素數)
//???unsigned?char??bThre??????-?閾值
//
//?返回值:
//???bool?????????????-?成功返回TRUE,否則返回FALSE。
//
//?說明:
//???該函數用來對圖像進行閾值變換。對于灰度值小于閾值的象素直接設置
//?灰度值為0;灰度值大于閾值的象素直接設置為255。
//
//////////////////////////////////////////////////////////////////////////

bool?ThresholdTrans(unsigned?char*?pImage?int?lWidth?int?lHeight?unsigned?char?bThre)
{
unsigned?char*?lpSrc?=?pImage;
int?i?j;

for(i?=?0;?i? {
for(j?=?0;?j? {
// if?((*lpSrc)? if?((*lpSrc)?<=?bThre)
{
*lpSrc++?=?0;
}
else
{
*lpSrc++?=?255;
}
}
}
return?true;
}
//---------------------------------------------------------------------------

//////////////////////////////////////////////////////////////////////////
//
//?函數名稱:
//???GetThreshold()
//
//?參數:
//???int*?lHistogram????-?指向源圖像的直方圖的指針
//
//?返回值:
//???unsigned?char??????????-?圖像分割的閾值。
//
//?說明:
//?該函數用于計算圖像二值化分割的閾值。
//
//////////////////////////////////////////////////////////////////////////

unsigned?char?GetThreshold(int*?lpHistogram)
{
int?i;

????unsigned?char?iMaxGrayValueiMinGrayValue;

unsigned?char?iThresholdiNewThreshold;
????unsigned?char?iMean1GrayValueiMean2GrayValue;
int?lP1lP2lS1lS2;
int?iIterationTimes;

iMinGrayValue?=?255;
????for(i?=?0;?i?????{
????????if(lpHistogram[i]?!=?0)
????????{
???????? iMinGrayValue?=?i;
????????????break;
????????}
????}
iMaxGrayValue?=?0;
????for(i?=?255;?i?>=?0;?i--)
????{
????????if(lpHistogram[i]?!=?0)
????????{
???????? iMaxGrayValue?=?i;
????????????break;
????????}
????}
????if(iMinGrayValue?==?iMaxGrayValue)
????????return?255;

iNewThreshold?=?(iMinGrayValue?+?iMaxGrayValue)/2;
iThreshold?=?0;
for(iIterationTimes?=?0;?iThreshold?!=?iNewThreshold?&&?iIterationTimes? {
iThreshold?=?iNewThreshold;
lP1?=?0;
lP2?=?0;
lS1?=?0;
lS2?=?0;

for?(i?=?iMinGrayValue;?i? {
lP1?+=?lpHistogram[i]*i;
lS1?+=?lpHistogram[i];
}
????????if(lS1?==?0)?break;
iMean1GrayValue?=?(unsign

評論

共有 條評論