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

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

?? imageview.cpp

?? 《VC數(shù)字圖處理典型算法以及實(shí)現(xiàn)》第12章的對(duì)應(yīng)源代碼
?? CPP
字號(hào):
// ************************************************************************
//  文件名:ImageView.cpp
//
//  圖像復(fù)原API函數(shù)庫(kù):
//
//  LimbPatternBayer()				- 用BAYER表抖動(dòng)顯示圖象
//  DitherFloydSteinberg()			- 用Floyd-Steinberg算法抖動(dòng)生成圖象
//
// *************************************************************************


#include "stdafx.h"
#include "GlobalApi.h"
#include "Cdib.h"

#include <math.h>
#include <direct.h>
#include <complex>
using namespace std;

/*************************************************************************
 *
 * 函數(shù)名稱:
 *   LimbPatternBayer()
 *
 * 參數(shù):
 *   CDib  *pDib       - 指向CDib類的指針
 *
 * 返回值:
 *   BOOL               - 成功返回TRUE,否則返回FALSE。
 *
 * 說(shuō)明:
 *   該函數(shù)利用BAYER表抖動(dòng)顯示圖象。
 *
 ************************************************************************/


BOOL LimbPatternBayer(CDib *pDib)
{
	// Bayer表的定義
	BYTE BayerPattern[8][8]={ 0, 32,  8, 40,  2, 34, 10, 42,
							 48, 16, 56, 24, 50, 18, 58, 26,
							 12, 44,  4, 36, 14, 46,  6, 38,
							 60, 28, 52, 20, 62, 30, 54, 22,
							  3, 35, 11, 43,  1, 33,  9, 41,
							 51, 19, 59, 27, 49, 17, 57, 25,
							 15, 47,  7, 39, 13, 45,  5, 37,
							 63, 31, 55, 23, 61, 29, 53, 21};

	// 指向源圖像的指針
	BYTE *	lpSrc;

	//圖象的寬度和高度
	LONG    lWidth;
	LONG    lHeight;

	//得到實(shí)際的Dib圖象存儲(chǔ)大小
	CSize   SizeRealDim;
	SizeRealDim = pDib->GetDibSaveDim();

	// 圖像每行的字節(jié)數(shù)
	LONG	lLineBytes;
	
	//得到圖象的寬度和高度
	CSize   SizeDim;
	SizeDim = pDib->GetDimensions();
	lWidth  = SizeDim.cx;
	lHeight = SizeDim.cy;;

	// 計(jì)算圖像每行的字節(jié)數(shù)
	lLineBytes = SizeRealDim.cx;
	
	//圖像數(shù)據(jù)的指針
	LPBYTE  lpDIBBits = pDib->m_lpImage;

	// 循環(huán)變量
	int i, j;

	// 象素的值
	int nPixelValue;

	// 將圖象二值化,利用BAYER表抖動(dòng)顯示圖象
	for (j = 0; j < lHeight ; j++)
	{
		for(i = 0; i < lLineBytes ; i++)
		{
			// 指向源圖像倒數(shù)第j行,第i個(gè)象素的指針			
			lpSrc = (unsigned char *)lpDIBBits + lLineBytes * j + i;
			
			nPixelValue = (*lpSrc);

			nPixelValue =nPixelValue;
			
			// 右移兩位后做比較
			if ( (nPixelValue>>2) > BayerPattern[j&7][i&7]) 
                //打白點(diǎn)    
				*(lpSrc)=(unsigned char)255; 
						
			else 
				//打黑點(diǎn)
				*(lpSrc)=(unsigned char)0; 
		}		
	}

	return true;
}


/*************************************************************************
 *
 * 函數(shù)名稱:
 *   DitherFloydSteinberg()
 *
 * 參數(shù):
 *   CDib  *pDib       - 指向CDib類的指針
 *
 * 返回值:
 *   BOOL               - 成功返回TRUE,否則返回FALSE。
 *
 * 說(shuō)明:
 *   該函數(shù)用來(lái)用Floyd-Steinberg算法抖動(dòng)生成圖象。
 *
 ************************************************************************/
BOOL DitherFloydSteinberg(CDib *pDib)
{	
	// 指向源圖像的指針
	BYTE *	lpSrc;
	
	//圖象的寬度和高度
	LONG    lWidth;
	LONG    lHeight;
	
	// 圖像每行的字節(jié)數(shù)
	LONG	lLineBytes;
	
	//得到圖象的寬度和高度
	CSize   SizeDim;
	SizeDim = pDib->GetDimensions();
	lWidth  = SizeDim.cx;
	lHeight = SizeDim.cy;
	
	//得到實(shí)際的Dib圖象存儲(chǔ)大小
	CSize   SizeRealDim;
	SizeRealDim = pDib->GetDibSaveDim();
		
	// 計(jì)算圖像每行的字節(jié)數(shù)
	lLineBytes = SizeRealDim.cx;
	
	//圖像數(shù)據(jù)的指針
	LPBYTE  lpDIBBits = pDib->m_lpImage;
	
	// 循環(huán)變量
	int i, j;

	// 誤差傳播系數(shù)
	double temp, error;
	
	// 象素值
	int nPixelValue;
	
	// 將圖象二值化,并用Floyd-Steinberg算法抖動(dòng)生成圖象
	for (j = 0; j < lHeight; j++)
	{
		for(i = 0; i < lLineBytes; i++)
		{
			// 指向源圖像倒數(shù)第j行,第i個(gè)象素的指針			
			lpSrc = (unsigned char *)lpDIBBits + lLineBytes * j + i;
			
			nPixelValue = *lpSrc;
			
			//128是中值
			if ( nPixelValue > 128 )
			{ 				
				//打白點(diǎn)
				*lpSrc=255; 
				
				//計(jì)算誤差
				error = (double)(nPixelValue-255.0); 							
			}
			
			else
			{
				//打黑點(diǎn)
				*lpSrc=0; 
				
				//計(jì)算誤差
				error = (double)nPixelValue; 
			}
			
			// 如果不是邊界
			if(i < lLineBytes-1)
			{ 
				//向右傳播
				temp = (float)*(lpSrc+1);
				
				temp = temp + error * (1.5/8.0);
				
				if(temp > 255.0)
					temp = 255.0;

				*(lpSrc+1)=(int)temp; 
				
			}
			
			// 如果不是邊界			
			if(j < lHeight - 1)
			{ 				
				// 向下傳播
				temp = (float)*(lpSrc + lLineBytes);
				
				temp = temp + error * (1.5/8.0);				
				
				*(lpSrc+lLineBytes) = (int)temp;
				
				if(i < lLineBytes-1)
				{
					// 向右下傳播
					temp = (float)*(lpSrc + lLineBytes + 1);
					
					temp = temp + error * (2.0/16.0);
				
					*(lpSrc + lLineBytes + 1) = (int)temp;				
				}
			}
			
		}
		
	}
	
	return true;	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区av| 亚洲激情校园春色| 亚洲国产一区二区三区| jlzzjlzz亚洲日本少妇| 亚洲男人天堂一区| 高清久久久久久| 久久嫩草精品久久久精品一| 欧美a级理论片| 欧美一区在线视频| 奇米888四色在线精品| 综合欧美亚洲日本| 欧美亚洲禁片免费| 亚洲精品v日韩精品| 久久久久久久久久久久电影| 欧美肥妇bbw| 精品系列免费在线观看| 久久女同精品一区二区| 欧美一区二区性放荡片| 在线欧美小视频| 全国精品久久少妇| 亚洲午夜久久久久| 亚洲乱码国产乱码精品精98午夜| 337p日本欧洲亚洲大胆精品| 国产jizzjizz一区二区| 久久不见久久见中文字幕免费| 久久久久国产精品麻豆ai换脸| 91精品欧美综合在线观看最新| 久久99国产精品免费网站| 亚洲成人精品一区二区| 欧美不卡一区二区| 国产白丝网站精品污在线入口| 免费看欧美美女黄的网站| 五月天婷婷综合| 欧美专区亚洲专区| 一本色道久久综合狠狠躁的推荐| 夜夜爽夜夜爽精品视频| 精品国产乱码久久久久久老虎| 91美女在线视频| 久久99日本精品| 另类小说一区二区三区| 麻豆精品久久久| 亚洲精品国久久99热| 亚洲免费成人av| 一区二区在线观看视频在线观看| 亚洲美女屁股眼交| 亚洲最色的网站| 五月天欧美精品| 日本成人在线电影网| 伊人婷婷欧美激情| 亚洲1区2区3区4区| 日本美女视频一区二区| 韩日欧美一区二区三区| 一区二区三区日韩欧美| 一区二区三区在线视频观看58| 亚洲在线视频网站| 国产精品久久久久7777按摩 | 成人免费视频一区二区| 日韩影院精彩在线| 国产精品高潮呻吟| 亚洲一区二区视频在线观看| 婷婷激情综合网| 久久国产精品一区二区| 成人av在线资源网| 国产精一品亚洲二区在线视频| 亚洲不卡在线观看| 久久精品国产一区二区三 | av在线不卡网| 欧美色图在线观看| 久久夜色精品一区| 亚洲欧洲综合另类在线| 午夜免费欧美电影| 国产麻豆日韩欧美久久| 久久国产人妖系列| 99久久综合国产精品| 67194成人在线观看| 国产视频在线观看一区二区三区 | 91亚洲男人天堂| 欧美精品高清视频| 欧美国产一区视频在线观看| 亚洲精品一区二区三区在线观看| 中文字幕一区二区三区在线观看 | av亚洲精华国产精华精| 欧美日韩中文一区| 欧美视频在线播放| 久久久久久久免费视频了| 亚洲情趣在线观看| 久久国产综合精品| 91网站黄www| 亚洲精品一区二区精华| 一区二区三区在线观看国产| 久久99精品久久久久久动态图| 91捆绑美女网站| 久久久五月婷婷| 午夜视频在线观看一区| 成人午夜在线播放| 日韩欧美中文字幕公布| 精品久久久久久久一区二区蜜臀| 亚洲色图欧美偷拍| 国产成人精品在线看| www.日韩大片| 精品国产乱码久久久久久图片 | 韩日精品视频一区| 欧美日韩日本视频| 亚洲日本丝袜连裤袜办公室| 国产美女精品一区二区三区| 欧美日韩成人综合天天影院| 欧美videos中文字幕| 亚洲自拍另类综合| 91丨porny丨中文| 国产亚洲精品bt天堂精选| 美国精品在线观看| 在线播放中文一区| 亚洲精品日韩综合观看成人91| 成人激情小说网站| 久久久国产精品午夜一区ai换脸| 免费xxxx性欧美18vr| 欧美片网站yy| 夜色激情一区二区| 在线视频一区二区三| 国产精品不卡在线| 东方欧美亚洲色图在线| 久久夜色精品国产噜噜av | 成人一区二区三区视频在线观看 | 成人黄色av电影| 久久久久久久久久久99999| 精品无人区卡一卡二卡三乱码免费卡| 欧美军同video69gay| 亚洲成人综合在线| 欧美色图第一页| 亚洲妇女屁股眼交7| 欧美日韩国产精选| 亚洲大片免费看| 7777女厕盗摄久久久| 亚洲aⅴ怡春院| 欧美日高清视频| 日日欢夜夜爽一区| 欧美一级国产精品| 免费成人av在线| 精品国产3级a| 国产精品一二三区在线| 国产视频911| 成人精品一区二区三区四区| 国产精品久久久久影院老司| 成人免费观看av| 亚洲欧美福利一区二区| 欧美在线播放高清精品| 亚洲成人一二三| 日韩精品在线一区二区| 亚洲大片免费看| 日韩欧美激情在线| 激情都市一区二区| 国产精品素人一区二区| 久久黄色级2电影| 欧美国产综合一区二区| 99re8在线精品视频免费播放| 精品国产91洋老外米糕| 成人午夜视频在线| 亚洲一区二区三区在线播放| 欧美日韩夫妻久久| 狠狠色丁香久久婷婷综合丁香| 国产亚洲欧美日韩日本| 色狠狠桃花综合| 亚洲美女在线国产| 8v天堂国产在线一区二区| 国产一区二区三区四| 国产精品久久久久久久久免费丝袜| 91视频免费播放| 免费视频一区二区| 国产精品久久久久久久久免费丝袜| 色噜噜狠狠色综合中国| 蜜桃久久av一区| 国产精品国产三级国产普通话三级| 在线一区二区三区四区| 麻豆精品视频在线观看| 中文字幕日本不卡| 日韩欧美在线影院| 不卡一卡二卡三乱码免费网站| 亚洲国产毛片aaaaa无费看 | 亚洲国产精品久久不卡毛片 | 国产福利91精品一区| 亚洲精品国产a久久久久久| 日韩一区二区麻豆国产| thepron国产精品| 午夜久久久久久久久| 国产日本欧美一区二区| 成人综合婷婷国产精品久久蜜臀 | 亚洲裸体在线观看| 欧美一级精品在线| 在线精品国精品国产尤物884a| 国产乱人伦偷精品视频免下载| 亚洲一区在线电影| 国产日韩精品视频一区| 欧美精品丝袜中出| 91影院在线免费观看| 国内精品国产成人国产三级粉色| 一区二区三区不卡在线观看| 久久久久国产精品人| 欧美一区二区三区在线观看 | 99国产精品一区| 国产一区二三区好的|