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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? pointtrans.cpp

?? CEComm: Windows CE 4.0下的串口調(diào)試程序 串口精靈源代碼 TTY:Windows 下的類似超級(jí)終端的原代碼. TAPICase: Windows 下用TAPI撥號(hào)的例子 image
?? CPP
字號(hào):

/**************************************************************************
 *  文件名:PointTrans.cpp
 *
 *  圖像點(diǎn)運(yùn)算API函數(shù)庫(kù):
 *
 *  LinerTrans()		- 圖像線性變換
 *	WindowTrans()		- 圖像窗口變換
 *  GrayStretch()		- 圖像灰度拉伸
 *  InteEqualize()		-直方圖均衡
 *
 *************************************************************************/

#include "stdafx.h"
#include "PointTrans.h"
#include "DIBAPI.h"

#include <math.h>
#include <direct.h>

/*************************************************************************
 *
 * 函數(shù)名稱:
 *   LinerTrans()
 *
 * 參數(shù):
 *   LPSTR lpDIBBits    - 指向源DIB圖像指針
 *   LONG  lWidth       - 源圖像寬度(象素?cái)?shù))
 *   LONG  lHeight      - 源圖像高度(象素?cái)?shù))
 *   FLOAT fA		    - 線性變換的斜率
 *   FLOAT fB           - 線性變換的截距
 *
 * 返回值:
 *   BOOL               - 成功返回TRUE,否則返回FALSE。
 *
 * 說(shuō)明:
 *   該函數(shù)用來(lái)對(duì)圖像進(jìn)行灰度的線性變換操作。
 *
 ************************************************************************/

BOOL WINAPI LinerTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, FLOAT fA, FLOAT fB)
{
	
	// 指向源圖像的指針
	unsigned char*	lpSrc;
	
	// 循環(huán)變量
	LONG	i;
	LONG	j;
	
	// 圖像每行的字節(jié)數(shù)
	LONG	lLineBytes;
	
	// 中間變量
	FLOAT	fTemp;
	
	// 計(jì)算圖像每行的字節(jié)數(shù)
	lLineBytes = WIDTHBYTES(lWidth * 8);
	
	// 每行
	for(i = 0; i < lHeight; i++)
	{
		// 每列
		for(j = 0; j < lWidth; j++)
		{
			// 指向DIB第i行,第j個(gè)象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;
			
			// 線性變換
			fTemp = fA * (*lpSrc) + fB;
			
			// 判斷是否超出范圍
			if (fTemp > 255)
			{
				// 直接賦值為255
				*lpSrc = 255;
			}
			else if (fTemp < 0)
			{
				// 直接賦值為0
				*lpSrc = 0;
			}
			else
			{
				// 四舍五入
				*lpSrc = (unsigned char) (fTemp + 0.5);
			}
		}
	}
	
	// 返回
	return TRUE;

}

/*************************************************************************
 *
 * 函數(shù)名稱:
 *   ThresholdTrans()
 *
 * 參數(shù):
 *   LPSTR lpDIBBits    - 指向源DIB圖像指針
 *   LONG  lWidth       - 源圖像寬度(象素?cái)?shù))
 *   LONG  lHeight      - 源圖像高度(象素?cái)?shù))
 *   BYTE  bThre	    - 閾值
 *
 * 返回值:
 *   BOOL               - 成功返回TRUE,否則返回FALSE。
 *
 * 說(shuō)明:
 *   該函數(shù)用來(lái)對(duì)圖像進(jìn)行閾值變換。對(duì)于灰度值小于閾值的象素直接設(shè)置
 * 灰度值為0;灰度值大于閾值的象素直接設(shè)置為255。
 *
 ************************************************************************/
BOOL WINAPI ThresholdTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bThre)
{
	
	// 指向源圖像的指針
	unsigned char*	lpSrc;
	
	// 循環(huán)變量
	LONG	i;
	LONG	j;
	
	// 圖像每行的字節(jié)數(shù)
	LONG	lLineBytes;
	
	// 計(jì)算圖像每行的字節(jié)數(shù)
	lLineBytes = WIDTHBYTES(lWidth * 8);
	
	// 每行
	for(i = 0; i < lHeight; i++)
	{
		// 每列
		for(j = 0; j < lWidth; j++)
		{
			// 指向DIB第i行,第j個(gè)象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;
			
			// 判斷是否小于閾值
			if ((*lpSrc) < bThre)
			{
				// 直接賦值為0
				*lpSrc = 0;
			}
			else
			{
				// 直接賦值為255
				*lpSrc = 255;
			}
		}
	}
	
	// 返回
	return TRUE;
}

/*************************************************************************
 *
 * 函數(shù)名稱:
 *   WindowTrans()
 *
 * 參數(shù):
 *   LPSTR lpDIBBits    - 指向源DIB圖像指針
 *   LONG  lWidth       - 源圖像寬度(象素?cái)?shù))
 *   LONG  lHeight      - 源圖像高度(象素?cái)?shù))
 *   BYTE  bLow		    - 窗口下限
 *   BYTE  bUp          - 窗口上限
 *
 * 返回值:
 *   BOOL               - 成功返回TRUE,否則返回FALSE。
 *
 * 說(shuō)明:
 *   該函數(shù)用來(lái)對(duì)圖像進(jìn)行窗口變換。只有在窗口范圍內(nèi)的灰度保持不變,
 * 小于下限的象素直接設(shè)置灰度值為0;大于上限的象素直接設(shè)置灰度值為255。
 *
 ************************************************************************/
BOOL WINAPI WindowTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bLow, BYTE bUp)
{
	
	// 指向源圖像的指針
	unsigned char*	lpSrc;
	
	// 循環(huán)變量
	LONG	i;
	LONG	j;
	
	// 圖像每行的字節(jié)數(shù)
	LONG	lLineBytes;
	
	// 計(jì)算圖像每行的字節(jié)數(shù)
	lLineBytes = WIDTHBYTES(lWidth * 8);
	
	// 每行
	for(i = 0; i < lHeight; i++)
	{
		// 每列
		for(j = 0; j < lWidth; j++)
		{
			// 指向DIB第i行,第j個(gè)象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;
			
			// 判斷是否超出范圍
			if ((*lpSrc) < bLow)
			{
				// 直接賦值為0
				*lpSrc = 0;
			}
			else if ((*lpSrc) > bUp)
			{
				// 直接賦值為255
				*lpSrc = 255;
			}
		}
	}
	
	// 返回
	return TRUE;
}

/*************************************************************************
 *
 * 函數(shù)名稱:
 *   GrayStretch()
 *
 * 參數(shù):
 *   LPSTR lpDIBBits    - 指向源DIB圖像指針
 *   LONG  lWidth       - 源圖像寬度(象素?cái)?shù))
 *   LONG  lHeight      - 源圖像高度(象素?cái)?shù))
 *   BYTE bX1			- 灰度拉伸第一個(gè)點(diǎn)的X坐標(biāo)
 *   BYTE bY1			- 灰度拉伸第一個(gè)點(diǎn)的Y坐標(biāo)
 *   BYTE bX2			- 灰度拉伸第二個(gè)點(diǎn)的X坐標(biāo)
 *   BYTE bY2			- 灰度拉伸第二個(gè)點(diǎn)的Y坐標(biāo)
 *
 * 返回值:
 *   BOOL               - 成功返回TRUE,否則返回FALSE。
 *
 * 說(shuō)明:
 *   該函數(shù)用來(lái)對(duì)圖像進(jìn)行灰度拉伸。
 *
 ************************************************************************/
BOOL WINAPI GrayStretch(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bX1, BYTE bY1, BYTE bX2, BYTE bY2)
{
	
	// 指向源圖像的指針
	unsigned char*	lpSrc;
	
	// 循環(huán)變量
	LONG	i;
	LONG	j;
	
	// 灰度映射表
	BYTE	bMap[256];
	
	// 圖像每行的字節(jié)數(shù)
	LONG	lLineBytes;
	
	// 計(jì)算圖像每行的字節(jié)數(shù)
	lLineBytes = WIDTHBYTES(lWidth * 8);
	
	// 計(jì)算灰度映射表
	for (i = 0; i <= bX1; i++)
	{
		// 判斷bX1是否大于0(防止分母為0)
		if (bX1 > 0)
		{
			// 線性變換
			bMap[i] = (BYTE) bY1 * i / bX1;
		}
		else
		{
			// 直接賦值為0
			bMap[i] = 0;
		}
	}
	for (; i <= bX2; i++)
	{
		// 判斷bX1是否等于bX2(防止分母為0)
		if (bX2 != bX1)
		{
			// 線性變換
			bMap[i] = bY1 + (BYTE) ((bY2 - bY1) * (i - bX1) / (bX2 - bX1));
		}
		else
		{
			// 直接賦值為bY1
			bMap[i] = bY1;
		}
	}
	for (; i < 256; i++)
	{
		// 判斷bX2是否等于255(防止分母為0)
		if (bX2 != 255)
		{
			// 線性變換
			bMap[i] = bY2 + (BYTE) ((255 - bY2) * (i - bX2) / (255 - bX2));
		}
		else
		{
			// 直接賦值為255
			bMap[i] = 255;
		}
	}
	
	// 每行
	for(i = 0; i < lHeight; i++)
	{
		// 每列
		for(j = 0; j < lWidth; j++)
		{
			// 指向DIB第i行,第j個(gè)象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;
			
			// 計(jì)算新的灰度值
			*lpSrc = bMap[*lpSrc];
		}
	}
	
	// 返回
	return TRUE;
}

/*************************************************************************
 *
 * 函數(shù)名稱:
 *   InteEqualize()
 *
 * 參數(shù):
 *   LPSTR lpDIBBits    - 指向源DIB圖像指針
 *   LONG  lWidth       - 源圖像寬度(象素?cái)?shù))
 *   LONG  lHeight      - 源圖像高度(象素?cái)?shù))
 *
 * 返回值:
 *   BOOL               - 成功返回TRUE,否則返回FALSE。
 *
 * 說(shuō)明:
 *   該函數(shù)用來(lái)對(duì)圖像進(jìn)行直方圖均衡。
 *
 ************************************************************************/
BOOL WINAPI InteEqualize(LPSTR lpDIBBits, LONG lWidth, LONG lHeight)
{
	
	// 指向源圖像的指針
	unsigned char*	lpSrc;
	
	// 臨時(shí)變量
	LONG	lTemp;
	
	// 循環(huán)變量
	LONG	i;
	LONG	j;
	
	// 灰度映射表
	BYTE	bMap[256];
	
	// 灰度映射表
	LONG	lCount[256];
	
	// 圖像每行的字節(jié)數(shù)
	LONG	lLineBytes;
	
	// 計(jì)算圖像每行的字節(jié)數(shù)
	lLineBytes = WIDTHBYTES(lWidth * 8);
	
	// 重置計(jì)數(shù)為0
	for (i = 0; i < 256; i ++)
	{
		// 清零
		lCount[i] = 0;
	}
	
	// 計(jì)算各個(gè)灰度值的計(jì)數(shù)
	for (i = 0; i < lHeight; i ++)
	{
		for (j = 0; j < lWidth; j ++)
		{
			lpSrc = (unsigned char *)lpDIBBits + lLineBytes * i + j;
			
			// 計(jì)數(shù)加1
			lCount[*(lpSrc)]++;
		}
	}
	
	// 計(jì)算灰度映射表
	for (i = 0; i < 256; i++)
	{
		// 初始為0
		lTemp = 0;
		
		for (j = 0; j <= i ; j++)
		{
			lTemp += lCount[j];
		}
		
		// 計(jì)算對(duì)應(yīng)的新灰度值
		bMap[i] = (BYTE) (lTemp * 255 / lHeight / lWidth);
	}
	
	// 每行
	for(i = 0; i < lHeight; i++)
	{
		// 每列
		for(j = 0; j < lWidth; j++)
		{
			// 指向DIB第i行,第j個(gè)象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;
			
			// 計(jì)算新的灰度值
			*lpSrc = bMap[*lpSrc];
		}
	}
	
	// 返回
	return TRUE;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久久久久| 69av一区二区三区| 免费xxxx性欧美18vr| 亚洲一区二三区| 一区二区三区中文在线| 亚洲精品免费在线播放| 一区二区三区欧美日韩| 国产精品不卡一区二区三区| 综合中文字幕亚洲| 亚洲精品v日韩精品| 国产精品免费网站在线观看| 国产精品久久久久影视| 亚洲欧美日韩久久精品| 一区二区三区中文字幕精品精品| 亚洲制服丝袜在线| 日日嗨av一区二区三区四区| 免费xxxx性欧美18vr| 精品一区二区av| 99re这里只有精品首页| 欧美日韩国产综合一区二区| 欧美电影免费观看完整版| 精品久久久久99| 亚洲欧洲色图综合| 尤物视频一区二区| 久久精品国产精品亚洲红杏| 国产美女在线精品| 99视频热这里只有精品免费| 精品国产一区二区三区久久影院| 久久久午夜精品理论片中文字幕| 欧美激情艳妇裸体舞| 亚洲黄色录像片| 精品一区二区三区久久久| 99久久精品国产毛片| 欧美一区二区三区日韩| 国产日本一区二区| 一区二区三区不卡视频| 免费亚洲电影在线| 99久久久精品| 欧美一区二区三区白人| 国产精品丝袜久久久久久app| 夜夜精品视频一区二区| 国产一区三区三区| 欧美日韩免费一区二区三区视频 | 久久精品视频在线免费观看| 国产欧美日韩卡一| 亚洲国产精品欧美一二99| 丁香天五香天堂综合| 日韩一区二区电影网| 亚洲三级免费观看| 国产一区二区三区四区五区入口| 欧美日韩在线三级| 亚洲欧美另类久久久精品| 国产毛片精品一区| 日韩一级片网站| 亚洲成人动漫精品| 色噜噜久久综合| 国产精品污www在线观看| 奇米色一区二区| 欧美日韩国产高清一区二区| 国产免费久久精品| 蜜臀av一级做a爰片久久| 欧美三级日韩在线| 亚洲精品国产成人久久av盗摄 | 精品一区在线看| eeuss鲁片一区二区三区| 久久精品一区二区三区av| 麻豆久久久久久久| 日韩视频一区二区三区| 亚洲成在人线在线播放| 91小视频免费观看| 国产女人aaa级久久久级| 日韩专区中文字幕一区二区| 日本道色综合久久| 亚洲精品中文在线| 国产91在线|亚洲| www国产成人| 国产在线精品国自产拍免费| 欧美一区二区国产| 麻豆国产欧美日韩综合精品二区 | 成人综合激情网| 久久九九久久九九| 国产在线精品免费av| 久久精品视频一区二区| 国产98色在线|日韩| 中文字幕亚洲一区二区av在线 | 成人一区在线观看| 欧美激情在线一区二区三区| 免费高清成人在线| 久久久国产午夜精品| 成人免费va视频| 亚洲激情图片qvod| 欧美一区二区福利在线| 国产在线看一区| 亚洲女爱视频在线| 欧美色欧美亚洲另类二区| 亚洲午夜一二三区视频| 日韩视频免费直播| 成人小视频免费观看| 一区二区三区免费在线观看| 欧美精品免费视频| 国产精品主播直播| 一区二区三区91| 久久综合色综合88| 色先锋aa成人| 九色|91porny| 亚洲视频电影在线| 日韩欧美高清在线| 91免费看`日韩一区二区| 日韩精品亚洲一区二区三区免费| 欧美成人精品二区三区99精品| 丁香天五香天堂综合| 亚洲尤物视频在线| 久久九九久精品国产免费直播| 色婷婷久久久综合中文字幕| 蜜桃精品视频在线| 亚洲美女视频一区| 久久久久久久久免费| 欧美这里有精品| 国产福利一区在线| 日日摸夜夜添夜夜添精品视频 | 亚洲国产高清在线| 欧美浪妇xxxx高跟鞋交| 不卡一二三区首页| 精品一区二区精品| 亚洲精品免费一二三区| 亚洲精品一区二区精华| 日韩精品国产精品| 日韩vs国产vs欧美| 亚洲午夜精品一区二区三区他趣| 国产东北露脸精品视频| 亚洲成人激情综合网| 中文字幕欧美国产| 精品理论电影在线观看| 在线观看日产精品| 91视频在线观看| 成人美女视频在线看| 看片的网站亚洲| 日韩福利电影在线| 亚洲电影中文字幕在线观看| 亚洲四区在线观看| 中文字幕一区不卡| 国产精品理伦片| 中文字幕巨乱亚洲| 久久久久久久精| 欧美草草影院在线视频| 欧美精品tushy高清| 91在线视频18| 91在线视频网址| 91视频com| 色婷婷久久99综合精品jk白丝| aaa国产一区| 色中色一区二区| 在线免费观看一区| 欧美人与z0zoxxxx视频| 欧美久久一二区| 777欧美精品| 日韩一区二区三区视频在线| 日韩一区二区三免费高清| 日韩欧美一卡二卡| 欧美成人一级视频| 国产日韩欧美麻豆| 亚洲日本在线观看| 亚洲综合在线免费观看| 视频一区国产视频| 精品在线你懂的| 豆国产96在线|亚洲| 波多野结衣在线一区| aaa欧美色吧激情视频| 欧美在线小视频| 日韩欧美在线网站| 中文字幕av一区二区三区高 | 裸体健美xxxx欧美裸体表演| 免费观看在线综合色| 精品一区二区三区免费观看| 国产一区二区精品久久91| 国产成人99久久亚洲综合精品| av在线播放不卡| 欧美三级在线看| 2024国产精品| 亚洲精品自拍动漫在线| 蜜桃视频一区二区| 国产99久久久国产精品免费看| 91日韩一区二区三区| 欧美电影在哪看比较好| 久久婷婷色综合| 亚洲欧美日韩国产另类专区| 日韩电影一区二区三区四区| 国产成人免费视| 欧美亚洲尤物久久| 欧美成人福利视频| 中文字幕在线不卡视频| 亚洲国产精品久久一线不卡| 美女精品自拍一二三四| 成人高清在线视频| 精品视频免费看| 国产日韩欧美精品一区| 日韩经典中文字幕一区| eeuss鲁片一区二区三区| 91精品国产美女浴室洗澡无遮挡| 日本一区二区视频在线|