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

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

?? pointtrans.cpp

?? vc++數字圖像處理 ,是一本很不錯的介紹數字圖像方面的書籍,這里有本書的全部源碼
?? CPP
字號:
/************************************************************************** *  文件名:PointTrans.cpp * *  圖像點運算API函數庫: * *  LinerTrans()		- 圖像線性變換 *	WindowTrans()		- 圖像窗口變換 *  GrayStretch()		- 圖像灰度拉伸 *  InteEqualize()		-直方圖均衡 * *************************************************************************/#include "stdafx.h"#include "PointTrans.h"#include "DIBAPI.h"#include <math.h>#include <direct.h>/************************************************************************* * * 函數名稱: *   LinerTrans() * * 參數: *   LPSTR lpDIBBits    - 指向源DIB圖像指針 *   LONG  lWidth       - 源圖像寬度(象素數) *   LONG  lHeight      - 源圖像高度(象素數) *   FLOAT fA		    - 線性變換的斜率 *   FLOAT fB           - 線性變換的截距 * * 返回值: *   BOOL               - 成功返回TRUE,否則返回FALSE。 * * 說明: *   該函數用來對圖像進行灰度的線性變換操作。 * ************************************************************************/BOOL WINAPI LinerTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, FLOAT fA, FLOAT fB){		// 指向源圖像的指針	unsigned char*	lpSrc;		// 循環變量	LONG	i;	LONG	j;		// 圖像每行的字節數	LONG	lLineBytes;		// 中間變量	FLOAT	fTemp;		// 計算圖像每行的字節數	lLineBytes = WIDTHBYTES(lWidth * 8);		// 每行	for(i = 0; i < lHeight; i++)	{		// 每列		for(j = 0; j < lWidth; j++)		{			// 指向DIB第i行,第j個象素的指針			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;}/************************************************************************* * * 函數名稱: *   ThresholdTrans() * * 參數: *   LPSTR lpDIBBits    - 指向源DIB圖像指針 *   LONG  lWidth       - 源圖像寬度(象素數) *   LONG  lHeight      - 源圖像高度(象素數) *   BYTE  bThre	    - 閾值 * * 返回值: *   BOOL               - 成功返回TRUE,否則返回FALSE。 * * 說明: *   該函數用來對圖像進行閾值變換。對于灰度值小于閾值的象素直接設置 * 灰度值為0;灰度值大于閾值的象素直接設置為255。 * ************************************************************************/BOOL WINAPI ThresholdTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bThre){		// 指向源圖像的指針	unsigned char*	lpSrc;		// 循環變量	LONG	i;	LONG	j;		// 圖像每行的字節數	LONG	lLineBytes;		// 計算圖像每行的字節數	lLineBytes = WIDTHBYTES(lWidth * 8);		// 每行	for(i = 0; i < lHeight; i++)	{		// 每列		for(j = 0; j < lWidth; j++)		{			// 指向DIB第i行,第j個象素的指針			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;						// 判斷是否小于閾值			if ((*lpSrc) < bThre)			{				// 直接賦值為0				*lpSrc = 0;			}			else			{				// 直接賦值為255				*lpSrc = 255;			}		}	}		// 返回	return TRUE;}/************************************************************************* * * 函數名稱: *   WindowTrans() * * 參數: *   LPSTR lpDIBBits    - 指向源DIB圖像指針 *   LONG  lWidth       - 源圖像寬度(象素數) *   LONG  lHeight      - 源圖像高度(象素數) *   BYTE  bLow		    - 窗口下限 *   BYTE  bUp          - 窗口上限 * * 返回值: *   BOOL               - 成功返回TRUE,否則返回FALSE。 * * 說明: *   該函數用來對圖像進行窗口變換。只有在窗口范圍內的灰度保持不變, * 小于下限的象素直接設置灰度值為0;大于上限的象素直接設置灰度值為255。 * ************************************************************************/BOOL WINAPI WindowTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bLow, BYTE bUp){		// 指向源圖像的指針	unsigned char*	lpSrc;		// 循環變量	LONG	i;	LONG	j;		// 圖像每行的字節數	LONG	lLineBytes;		// 計算圖像每行的字節數	lLineBytes = WIDTHBYTES(lWidth * 8);		// 每行	for(i = 0; i < lHeight; i++)	{		// 每列		for(j = 0; j < lWidth; j++)		{			// 指向DIB第i行,第j個象素的指針			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;						// 判斷是否超出范圍			if ((*lpSrc) < bLow)			{				// 直接賦值為0				*lpSrc = 0;			}			else if ((*lpSrc) > bUp)			{				// 直接賦值為255				*lpSrc = 255;			}		}	}		// 返回	return TRUE;}/************************************************************************* * * 函數名稱: *   GrayStretch() * * 參數: *   LPSTR lpDIBBits    - 指向源DIB圖像指針 *   LONG  lWidth       - 源圖像寬度(象素數) *   LONG  lHeight      - 源圖像高度(象素數) *   BYTE bX1			- 灰度拉伸第一個點的X坐標 *   BYTE bY1			- 灰度拉伸第一個點的Y坐標 *   BYTE bX2			- 灰度拉伸第二個點的X坐標 *   BYTE bY2			- 灰度拉伸第二個點的Y坐標 * * 返回值: *   BOOL               - 成功返回TRUE,否則返回FALSE。 * * 說明: *   該函數用來對圖像進行灰度拉伸。 * ************************************************************************/BOOL WINAPI GrayStretch(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bX1, BYTE bY1, BYTE bX2, BYTE bY2){		// 指向源圖像的指針	unsigned char*	lpSrc;		// 循環變量	LONG	i;	LONG	j;		// 灰度映射表	BYTE	bMap[256];		// 圖像每行的字節數	LONG	lLineBytes;		// 計算圖像每行的字節數	lLineBytes = WIDTHBYTES(lWidth * 8);		// 計算灰度映射表	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個象素的指針			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;						// 計算新的灰度值			*lpSrc = bMap[*lpSrc];		}	}		// 返回	return TRUE;}/************************************************************************* * * 函數名稱: *   InteEqualize() * * 參數: *   LPSTR lpDIBBits    - 指向源DIB圖像指針 *   LONG  lWidth       - 源圖像寬度(象素數) *   LONG  lHeight      - 源圖像高度(象素數) * * 返回值: *   BOOL               - 成功返回TRUE,否則返回FALSE。 * * 說明: *   該函數用來對圖像進行直方圖均衡。 * ************************************************************************/BOOL WINAPI InteEqualize(LPSTR lpDIBBits, LONG lWidth, LONG lHeight){		// 指向源圖像的指針	unsigned char*	lpSrc;		// 臨時變量	LONG	lTemp;		// 循環變量	LONG	i;	LONG	j;		// 灰度映射表	BYTE	bMap[256];		// 灰度映射表	LONG	lCount[256];		// 圖像每行的字節數	LONG	lLineBytes;		// 計算圖像每行的字節數	lLineBytes = WIDTHBYTES(lWidth * 8);		// 重置計數為0	for (i = 0; i < 256; i ++)	{		// 清零		lCount[i] = 0;	}		// 計算各個灰度值的計數	for (i = 0; i < lHeight; i ++)	{		for (j = 0; j < lWidth; j ++)		{			lpSrc = (unsigned char *)lpDIBBits + lLineBytes * i + j;						// 計數加1			lCount[*(lpSrc)]++;		}	}		// 計算灰度映射表	for (i = 0; i < 256; i++)	{		// 初始為0		lTemp = 0;				for (j = 0; j <= i ; j++)		{			lTemp += lCount[j];		}				// 計算對應的新灰度值		bMap[i] = (BYTE) (lTemp * 255 / lHeight / lWidth);	}		// 每行	for(i = 0; i < lHeight; i++)	{		// 每列		for(j = 0; j < lWidth; j++)		{			// 指向DIB第i行,第j個象素的指針			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;						// 計算新的灰度值			*lpSrc = bMap[*lpSrc];		}	}		// 返回	return TRUE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产高清影视| 中文字幕日韩欧美一区二区三区| 国产精品 欧美精品| 亚洲图片欧美视频| 亚洲一区在线观看免费| 曰韩精品一区二区| 日韩在线播放一区二区| 乱一区二区av| 欧美性受xxxx黑人xyx| 日韩一区二区高清| 日韩美女视频在线| 亚洲国产精品99久久久久久久久| 国产精品羞羞答答xxdd| 成人永久免费视频| 欧美日韩成人一区二区| 中文字幕成人av| 精品在线观看免费| 欧美午夜免费电影| 亚洲天堂免费看| 国产一区二区三区av电影| 91久久精品日日躁夜夜躁欧美| 亚洲女同女同女同女同女同69| 精品视频在线看| 久久先锋影音av鲁色资源 | 欧美日韩高清影院| 国产午夜精品在线观看| 久久亚区不卡日本| 国产日韩欧美精品电影三级在线 | 国产呦精品一区二区三区网站| 狠狠狠色丁香婷婷综合久久五月| 国产99久久久国产精品免费看| 狠狠v欧美v日韩v亚洲ⅴ| 一本大道久久精品懂色aⅴ| 久久久99久久| 风间由美一区二区av101| 中国色在线观看另类| 成人h精品动漫一区二区三区| 国产精品一区二区久久不卡| 欧美一级高清片| 国产自产v一区二区三区c| 久久久久青草大香线综合精品| 久久久久久久久97黄色工厂| 国产精品亚洲第一| 中文字幕中文字幕一区二区| 欧美性大战久久| 免费成人av在线播放| 久久久99精品免费观看| 成人一区二区三区| 亚洲成人激情社区| 久久精品综合网| 久久久久久电影| 成人一区二区视频| 亚洲丝袜自拍清纯另类| 欧美日韩一区二区三区四区五区| 这里只有精品视频在线观看| 国产精品亚洲一区二区三区妖精| 99精品视频一区| 亚洲国产精品久久不卡毛片| 日韩一区二区在线看片| 91麻豆精品视频| 日韩成人精品在线| 中文字幕av免费专区久久| 884aa四虎影成人精品一区| 粉嫩绯色av一区二区在线观看| 91成人网在线| 精品一区二区精品| 亚洲综合在线电影| 国产精品午夜免费| 久久久久综合网| 日韩午夜激情视频| 欧美丰满高潮xxxx喷水动漫| 成人动漫在线一区| 国产精品一品二品| 国内精品久久久久影院薰衣草| 欧美性大战久久久| 欧美性xxxxx极品少妇| 精品视频资源站| 91精品国产品国语在线不卡| 精品盗摄一区二区三区| 国产欧美一区在线| 亚洲精品久久嫩草网站秘色| 亚洲曰韩产成在线| 另类中文字幕网| 91久久精品午夜一区二区| 欧美一级日韩免费不卡| 日韩欧美一区电影| 欧美精品粉嫩高潮一区二区| 色婷婷综合久久久久中文| 欧美无砖专区一中文字| 欧美久久久影院| 国产日韩视频一区二区三区| 亚洲欧洲99久久| 爽爽淫人综合网网站| 国产伦精品一区二区三区视频青涩| 久久精品欧美日韩| 亚洲色欲色欲www| 美日韩一区二区| 成人av影院在线| 欧美日韩精品一区二区三区四区| 欧美日韩综合在线免费观看| 91麻豆精东视频| 日韩三级视频在线观看| 国产精品久久久久久久久晋中| 91香蕉国产在线观看软件| 911精品产国品一二三产区| 国产精品乱人伦| 国产真实乱对白精彩久久| 99re这里只有精品视频首页| 日韩午夜小视频| 午夜日韩在线电影| 9人人澡人人爽人人精品| 久久久综合激的五月天| 日韩成人av影视| 色视频一区二区| 自拍偷自拍亚洲精品播放| 精品在线视频一区| 欧美性色综合网| 国产精品久久精品日日| 国产一二精品视频| 欧美刺激午夜性久久久久久久| 欧美老肥妇做.爰bbww| 亚洲综合无码一区二区| 91亚洲精华国产精华精华液| 欧美成人猛片aaaaaaa| 老汉av免费一区二区三区| 欧美精品 国产精品| 五月天视频一区| 精品国产不卡一区二区三区| 丝袜亚洲另类丝袜在线| 欧美日韩一区二区三区视频| 亚洲欧美一区二区三区久本道91| 亚洲色图视频免费播放| 色综合久久精品| 午夜在线成人av| 欧美日韩一区二区在线观看视频 | 欧美在线观看视频一区二区| 亚洲成av人片观看| 欧美一二三在线| 99久久99久久精品免费观看| 亚洲成av人片在www色猫咪| 日韩一区二区在线看| 日韩精品免费视频人成| 久久九九99视频| 91精品欧美一区二区三区综合在| 日韩欧美国产三级| www.性欧美| 久久99蜜桃精品| 自拍视频在线观看一区二区| 91精品国产一区二区三区香蕉| 国产午夜亚洲精品不卡| 99re这里都是精品| 免费成人在线影院| 午夜成人免费视频| 亚洲欧美偷拍另类a∨色屁股| 免费在线观看一区二区三区| 美女脱光内衣内裤视频久久网站 | 一区二区三区四区在线免费观看| 亚洲福利视频导航| 亚洲欧洲精品成人久久奇米网| 天堂av在线一区| 一区二区成人在线视频| 国产精品第13页| 中文字幕免费在线观看视频一区| 激情五月激情综合网| 亚洲激情中文1区| 亚洲日本一区二区| 亚洲日本中文字幕区| 亚洲专区一二三| 日韩专区在线视频| 亚洲成人av电影| 午夜成人免费电影| 日本不卡视频在线| 美腿丝袜亚洲综合| 国产老女人精品毛片久久| eeuss鲁片一区二区三区| 成人av网在线| 制服丝袜亚洲播放| 久久综合九色综合久久久精品综合| 盗摄精品av一区二区三区| voyeur盗摄精品| 欧美精品一级二级三级| 精品国产精品一区二区夜夜嗨| 国产在线视视频有精品| 成人视屏免费看| 欧美日韩三级一区| 久久精品欧美日韩精品| 亚洲综合在线视频| 国产v综合v亚洲欧| 欧美色成人综合| 日本一区二区免费在线观看视频| 色噜噜狠狠成人中文综合| 久久亚洲综合av| 午夜精品一区在线观看| 成人免费福利片| 久久久久成人黄色影片| 亚洲色图欧美激情| 国产999精品久久| 欧美大片免费久久精品三p| 亚洲欧美偷拍卡通变态| 懂色av一区二区三区免费观看|