亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dlgshannon.cpp

?? vc++數字圖像處理 ,是一本很不錯的介紹數字圖像方面的書籍,這里有本書的全部源碼
?? CPP
字號:
// DlgShannon.cpp : implementation file//#include "stdafx.h"#include "ch1_1.h"#include "DlgShannon.h"#include <math.h>#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CDlgShannon dialogCDlgShannon::CDlgShannon(CWnd* pParent /*=NULL*/)	: CDialog(CDlgShannon::IDD, pParent){	//{{AFX_DATA_INIT(CDlgShannon)	m_dEntropy = 0.0;	m_dAvgCodeLen = 0.0;	m_dEfficiency = 0.0;	//}}AFX_DATA_INIT}void CDlgShannon::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	//{{AFX_DATA_MAP(CDlgShannon)	DDX_Control(pDX, IDC_LST_Table, m_lstTable);	DDX_Text(pDX, IDC_EDIT1, m_dEntropy);	DDX_Text(pDX, IDC_EDIT2, m_dAvgCodeLen);	DDX_Text(pDX, IDC_EDIT3, m_dEfficiency);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CDlgShannon, CDialog)	//{{AFX_MSG_MAP(CDlgShannon)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CDlgShannon message handlersBOOL CDlgShannon::OnInitDialog() {		// 字符串變量	CString	str;		// 循環變量	LONG	i;	LONG	j;		// 中間變量	FLOAT	fT;	LONG	iTemp;		// 保存計算中間結果的數組	FLOAT *	fTemp;		// 保存映射關系的數組	LONG *	iMap;		// 當前編碼區間的頻率和	FLOAT	fTotal;		// 計數(編碼完成的個數)	LONG	iCount = 0;		// 頻率和	FLOAT	fSum;		// 起始位置	LONG	iStart;		// 指向布爾型數組的指針	BOOL	* bFinished;		// 調用默認得OnInitDialog()函數	CDialog::OnInitDialog();		// 初始化變量	m_dEntropy = 0.0;	m_dAvgCodeLen = 0.0;		// 計算圖像熵	for (i = 0; i < m_iColorNum; i ++)	{		// 判斷概率是否大于0		if (m_fFreq[i] > 0)		{			// 計算圖像熵			m_dEntropy -= m_fFreq[i] * log(m_fFreq[i]) / log(2.0);		}	}		// 分配內存	fTemp = new FLOAT[m_iColorNum];	m_strCode = new CString[m_iColorNum];	bFinished = new BOOL[m_iColorNum];	iMap  = new LONG[m_iColorNum];		fTotal = 0;		// 初始化fTemp為m_fFreq, bFinished為FALSE	for (i = 0; i < m_iColorNum; i ++)	{		// 賦值		fTemp[i] = m_fFreq[i];				// 初始化映射關系		iMap[i] = i;				// 初始化為FALSE		bFinished[i] = FALSE;				// 計算fTotal		fTotal += m_fFreq[i];	}		// 用冒泡法對進行灰度值出現的概率排序,結果保存在數組fTemp中	for (j = 0; j < m_iColorNum - 1; j ++)	{		for (i = 0; i < m_iColorNum - j - 1; i ++)		{			if (fTemp[i] > fTemp[i + 1])			{				// 互換				fT = fTemp[i];				fTemp[i] = fTemp[i + 1];				fTemp[i + 1] = fT;								// 更新映射關系				iTemp = iMap[i];				iMap[i] = iMap[i+1];				iMap[i+1] = iTemp;							}		}	}		//////////////////////////////////////////////////////////	// 計算香農-弗諾編碼表		// 找到概率大于0處才開始編碼	for (iStart = 0; iStart < m_iColorNum - 1; iStart ++)	{		// 判斷概率是否大于0		if (fTemp[iStart] > 0)		{			// 跳出			break;		}	}		// 初始化變量	fSum = 0;	str = "1";		// 開始編碼	while(iCount < m_iColorNum)	{		// 初始化iCount為iStart		iCount = iStart;				// 循環編碼		for (i = iStart; i < m_iColorNum; i ++)		{			// 判斷是否編碼完成			if (bFinished[i] == FALSE)			{				// 編碼沒有完成,繼續編碼								// fSum加當前出現的頻率				fSum += fTemp[i];								// 判斷是否超出總和的一半				if (fSum > fTotal/2.0)				{					// 超出,追加的字符改為0					str = "0";				}								// 編碼追加字符1或0				m_strCode[iMap[i]] += str;								// 判斷是否編碼完一段				if (fSum == fTotal)				{					// 完成一部分編碼,重新計算fTotal										// 初始化fSum為0					fSum = 0;										// 判斷是否是最后一個元素					if (i == m_iColorNum - 1)					{						// 是最后,設置從起始點開始						j = iStart;					}					else					{						// 不是最后,設置從下一個點開始						j = i + 1;					}										// 保存j值					iTemp = j;					str = m_strCode[iMap[j]];										// 計算下一段的fTotal					fTotal = 0;					for (; j < m_iColorNum; j++)					{						// 判斷是否是同一段編碼						if ((m_strCode[iMap[j]].Right(1) != str.Right(1)) 							|| (m_strCode[iMap[j]].GetLength() != str.GetLength()))						{							// 退出循環							break;						}												// 累加						fTotal += fTemp[j];					}										// 初始化str為1					str = "1";										// 判斷是否該段長度為1					if (iTemp + 1 == j)					{						// 是,表示該段編碼已經完成						bFinished[iTemp] = TRUE;					}				}			}			else			{				// iCount加1				iCount ++;								// 計算下一次循環的fTotal								// 初始化fSum為0				fSum = 0;								// 判斷是否是最后一個元素				if (i == m_iColorNum - 1)				{					// 是最后,設置從起始點開始					j = iStart;				}				else				{					// 不是最后,設置從下一個點開始					j = i + 1;				}								// 保存j值				iTemp = j;				str = m_strCode[iMap[j]];								// 計算下一段的fTotal				fTotal = 0;				for (; j < m_iColorNum; j++)				{					// 判斷是否是同一段編碼					if ((m_strCode[iMap[j]].Right(1) != str.Right(1)) 						|| (m_strCode[iMap[j]].GetLength() != str.GetLength()))					{						// 退出循環						break;					}										// 累加					fTotal += fTemp[j];				}								// 初始化str為1				str = "1";								// 判斷是否該段長度為1				if (iTemp + 1 == j)				{					// 是,表示該段編碼已經完成					bFinished[iTemp] = TRUE;				}			}		}	}		// 計算平均碼字長度	for (i = 0; i < m_iColorNum; i ++)	{		// 累加		m_dAvgCodeLen += m_fFreq[i] * m_strCode[i].GetLength();	}		// 計算編碼效率	m_dEfficiency = m_dEntropy / m_dAvgCodeLen;		// 保存變動	UpdateData(FALSE);		//////////////////////////////////////////////////////////	// 輸出計算結果		// ListCtrl的ITEM	LV_ITEM lvitem;		// 中間變量,保存ListCtrl中添加的ITEM編號	int		iActualItem;		// 設置List控件樣式	m_lstTable.ModifyStyle(LVS_TYPEMASK, LVS_REPORT);		// 給List控件添加Header	m_lstTable.InsertColumn(0, "灰度值", LVCFMT_LEFT, 60, 0);	m_lstTable.InsertColumn(1, "出現頻率", LVCFMT_LEFT, 78, 0);	m_lstTable.InsertColumn(2, "香農弗諾編碼", LVCFMT_LEFT, 110, 1);	m_lstTable.InsertColumn(3, "碼字長度", LVCFMT_LEFT, 78, 2);		// 設置樣式為文本	lvitem.mask = LVIF_TEXT;		// 計算平均碼字長度	for (i = 0; i < m_iColorNum; i ++)	{		// 添加一項		lvitem.iItem = m_lstTable.GetItemCount();		str.Format("%u",i);		lvitem.iSubItem = 0;		lvitem.pszText= (LPTSTR)(LPCTSTR)str;		iActualItem = m_lstTable.InsertItem(&lvitem);				// 添加其它列		lvitem.iItem = iActualItem;				// 添加灰度值出現的頻率		lvitem.iSubItem = 1;		str.Format("%f",m_fFreq[i]);		lvitem.pszText = (LPTSTR)(LPCTSTR)str;		m_lstTable.SetItem(&lvitem);				// 添加香農弗諾編碼		lvitem.iSubItem = 2;		lvitem.pszText = (LPTSTR)(LPCTSTR)m_strCode[i];		m_lstTable.SetItem(&lvitem);				// 添加碼字長度		lvitem.iSubItem = 3;		str.Format("%u",m_strCode[i].GetLength());		lvitem.pszText = (LPTSTR)(LPCTSTR)str;		m_lstTable.SetItem(&lvitem);	}			// 返回TRUE	return TRUE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线免费观看视频| 99热这里都是精品| 欧美一级xxx| 日本91福利区| 亚洲精品一区在线观看| 国产伦精品一区二区三区免费| 日韩三级在线免费观看| 国产尤物一区二区| 国产精品久线在线观看| av电影天堂一区二区在线观看| 亚洲女同ⅹxx女同tv| 在线观看国产精品网站| 美女任你摸久久| 一区二区三区在线观看动漫| 91成人国产精品| 日韩精品乱码av一区二区| 精品国产免费久久| 成人午夜短视频| 一区二区免费看| 91麻豆精品91久久久久同性| 久久精品国产澳门| 成人三级伦理片| 91精品国产入口| 欧美国产日产图区| 亚洲电影在线播放| 久久成人免费网| 成人免费视频网站在线观看| 欧美午夜精品电影| 日韩欧美第一区| 又紧又大又爽精品一区二区| 免费成人av在线播放| 99精品欧美一区二区三区综合在线| 欧美日韩在线免费视频| 久久亚洲欧美国产精品乐播| 亚洲最色的网站| 成人精品国产福利| 精品国产污污免费网站入口 | 日韩电影在线一区二区三区| 国产精品一区二区x88av| 欧美一区二区三区在线电影| 欧美精品一区二区三区蜜桃视频| 中文字幕中文字幕中文字幕亚洲无线| 日本亚洲视频在线| 99精品国产一区二区三区不卡| 国产成人精品亚洲777人妖| 成人免费电影视频| 国产欧美一区二区精品忘忧草| 久久精品国产精品亚洲精品| 国产精品久久三| 国产女同互慰高潮91漫画| 国产精品天干天干在观线| 日韩欧美成人一区| 一本久道久久综合中文字幕| 老司机精品视频线观看86| 一区二区三区视频在线看| 国产日韩av一区二区| 日韩视频在线一区二区| 欧美午夜在线观看| 日本韩国精品一区二区在线观看| 亚洲国产精品二十页| 蜜臀久久久99精品久久久久久| 欧美放荡的少妇| 玖玖九九国产精品| 欧美变态口味重另类| 韩国精品在线观看| 久久丝袜美腿综合| 色综合天天综合网国产成人综合天| 国产欧美日本一区视频| 成人18视频在线播放| 亚洲男人的天堂在线观看| 91黄色在线观看| 国产一区二区三区久久久 | 99久久精品国产麻豆演员表| 亚洲欧美日韩国产中文在线| 欧美精品日韩一本| 成人午夜精品在线| 婷婷成人综合网| 国产精品青草久久| 欧美精品日韩一本| 91在线无精精品入口| 日韩av中文字幕一区二区三区| 久久婷婷成人综合色| 欧美一区二区日韩一区二区| 亚洲成国产人片在线观看| 亚洲六月丁香色婷婷综合久久| 欧美一级精品大片| 欧美精品自拍偷拍| 免费视频最近日韩| 精品国产一区二区三区忘忧草| 国产乱人伦偷精品视频不卡| 美女性感视频久久| 国产不卡免费视频| 国产三级精品在线| 国产69精品久久久久777| 国产欧美日韩亚州综合| 婷婷六月综合亚洲| 麻豆精品国产91久久久久久| 国产在线不卡一卡二卡三卡四卡| 国产成a人亚洲精| 91在线小视频| 欧美精品高清视频| 欧美精品一区二区在线播放 | 日韩欧美一级片| 欧美日韩在线观看一区二区 | 久久久不卡网国产精品一区| 91猫先生在线| 色一情一乱一乱一91av| 91黄色小视频| 7777精品伊人久久久大香线蕉的 | 色8久久精品久久久久久蜜| 国产伦精品一区二区三区免费迷 | 国产在线不卡视频| 国产高清无密码一区二区三区| 国产精品资源网站| 99久久精品费精品国产一区二区| 一本高清dvd不卡在线观看 | 欧美综合在线视频| 欧美精品在线视频| 久久综合久久综合久久| 亚洲国产岛国毛片在线| 亚洲欧美日韩久久精品| 一区二区三区在线影院| 国产一区二区三区不卡在线观看 | 亚洲欧美自拍偷拍| 中文字幕国产一区| 欧美tk丨vk视频| 亚洲欧洲精品一区二区三区不卡 | 日本美女视频一区二区| 国产精品无人区| 久久99久国产精品黄毛片色诱| 国产精品白丝av| 欧美三级电影在线观看| 亚洲精品美国一| 美女mm1313爽爽久久久蜜臀| 波多野结衣在线一区| 欧美一级二级三级蜜桃| 亚洲免费观看视频| 国产精一品亚洲二区在线视频| 日韩专区欧美专区| 欧美精品18+| 亚洲成人黄色影院| 在线观看一区二区视频| 国产区在线观看成人精品| 国产乱码精品一区二区三区五月婷 | 精品在线观看视频| 6080yy午夜一二三区久久| 亚洲成av人片在线观看| 99精品国产视频| 亚洲三级在线看| 91麻豆精品视频| 亚洲一区免费观看| 精品婷婷伊人一区三区三| 亚洲日本电影在线| 欧美私模裸体表演在线观看| 亚洲午夜在线视频| 欧美日韩激情在线| 日日摸夜夜添夜夜添精品视频| 欧亚洲嫩模精品一区三区| 亚洲第一搞黄网站| 精品久久久久一区| 丰满白嫩尤物一区二区| 国产精品丝袜久久久久久app| 成人午夜碰碰视频| 亚洲资源在线观看| 日韩欧美www| 成人激情开心网| 亚洲一二三四在线| 亚洲国产日韩综合久久精品| 日韩精品综合一本久道在线视频| 91久久国产综合久久| 日产国产欧美视频一区精品| 欧美一级片免费看| 精品中文av资源站在线观看| 肉丝袜脚交视频一区二区| 国产一区二区不卡| 在线亚洲一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 99视频在线精品| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 精品久久久久久久人人人人传媒 | 色视频欧美一区二区三区| 国产精品剧情在线亚洲| 91蝌蚪国产九色| 精品国产sm最大网站免费看| 欧美亚洲精品一区| 国产盗摄一区二区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲欧美日韩综合aⅴ视频| 精品毛片乱码1区2区3区| 欧美伊人久久大香线蕉综合69 | 午夜不卡av免费| 久久精品日韩一区二区三区| 9191久久久久久久久久久| 国产91丝袜在线18| 精品午夜一区二区三区在线观看| 五月天婷婷综合| 69堂精品视频| 国产一区久久久| 91麻豆精品91久久久久同性| 中文字幕制服丝袜成人av|