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

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

?? fushiyupengzhangdib.cpp

?? VC++圖像處理程序設計課本和代碼.
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#include "stdafx.h"
#include "windowsx.h"
#include "math.h"
#include "FuShiYuPengZhangDib.h"
#include "MainFrm.h"


 
 
FuShiYuPengZhangDib::FuShiYuPengZhangDib()
{
}
FuShiYuPengZhangDib::~FuShiYuPengZhangDib()
{
}


 

///***************************************************************/           
/*函數名稱:ChuiZhiFuShi()                                        
/*函數類型:void                                      
/*功能:對圖像進行垂直腐蝕。            
/***************************************************************/ 
void FuShiYuPengZhangDib::ChuiZhiFuShi()
{
	LPBYTE p_data;	// 指向DIB象素指針
	LPBYTE	lpSrc;// 指向源圖像的指針
	LPBYTE	lpDst;// 指向緩存圖像的指針
	LPBYTE	temp;// 指向緩存DIB圖像的指針
	int i;
	int j;
	int n;//循環變量
	p_data = GetData();// 找到DIB圖像象素起始位置
	LONG wide = GetWidth();// DIB的寬度
	LONG height = GetHeight();// DIB的高度
	if (m_pBitmapInfoHeader->biBitCount<9)//灰度圖像
	{ 	
		temp = new BYTE[wide*height];// 暫時分配內存,以保存新圖像
		lpDst = (LPBYTE)temp;
		memset(lpDst, (BYTE)255, wide * height);// 初始化新分配的內存,設定初始值為255
		//使用垂直方向的結構元素進行腐蝕
		for(j = 1; j < height - 1; j++)
		{
			for(i = 0; i < wide; i ++)
			{
				//由于使用3×1的結構元素,為防止越界,所以不處理最上邊和最下邊的兩列像素
				// 指向源圖像倒數第j行,第i個象素的指針			
				lpSrc = (unsigned char *)(p_data + wide * j + i);
				lpDst = (unsigned char *)(temp + wide * j + i);	// 指向目標圖像倒數第j行,第i個象素的指針
				*lpDst = 0;//目標圖像中的當前點先賦成黑色
				// 如果源圖像中(0,-1)、(0,0)、(0,1)三個點之一有白點,
				// 則將目標圖像中的(0,0)點賦成白色
				for (n = 0; n < 3; n++)
				{
					if (*(lpSrc + (n - 1) * wide) > 128)
					{
						*lpDst = 255;					 
						break;
					}
				}				
			}
		}
		// 復制腐蝕后的圖像
		memcpy(p_data, temp, wide * height);
		// 釋放內存
		delete temp; 
	}
	else //24位真彩色
	{
		LONG DibWidth;    //原圖長、寬	     
		DibWidth=this->GetDibWidthBytes();   //取得原圖的每行字節數
		BYTE *p_temp=new BYTE[height*DibWidth];
		//使用垂直方向的結構元素進行腐蝕
		for(j = 1; j < height - 1; j++)
		{
			for(i = 0; i < DibWidth; i+=3)
			{
				//由于使用3×1的結構元素,為防止越界,所以不處理最上邊和最下邊的兩列像素
				// 指向源圖像倒數第j行,第i個象素的指針			
				lpSrc = (unsigned char *)(p_data + DibWidth * j + i);
				lpDst = (unsigned char *)(p_temp + DibWidth * j + i);	// 指向目標圖像倒數第j行,第i個象素的指針
				
				*lpDst = 0;//目標圖像中的當前點先賦成黑色
				*(lpDst+1)=0;
				*(lpDst+2)=0;
				// 如果源圖像中(0,-1)、(0,0)、(0,1)三個點之一有白點,
				// 則將目標圖像中的(0,0)點賦成白色
				for(int m=0;m<3;m++)
				{
					for (n = 0; n < 3; n++)
					{
						if (*(lpSrc + (n - 1) * DibWidth) > 128)
						{
							*lpDst = 255;
							break;
						}
						else
							*lpDst =*lpSrc ;
					}
					lpSrc++;
					lpDst++;
				}			
			}
		}
		// 復制腐蝕后的圖像
		memcpy(p_data, p_temp, DibWidth * height); 
		// 釋放內存
		delete []p_temp;
	}	
}



///***************************************************************/           
/*函數名稱:Shuipingfushi()                                        
/*函數類型:void                                      
/*功能:對圖像進行水平腐蝕。            
/***************************************************************/ 
void FuShiYuPengZhangDib::Shuipingfushi()
{
	// 指向DIB象素指針
	LPBYTE p_data;
	// 指向源圖像的指針
	LPBYTE	lpSrc;
	// 指向緩存圖像的指針
	LPBYTE	lpDst;
	// 指向緩存DIB圖像的指針	 
	LPBYTE	temp;
	//循環變量
	int i;
	int j;
	int n;
	// 找到DIB圖像象素起始位置
	p_data = GetData();
	// DIB的寬度
	LONG wide = GetWidth();
	// DIB的高度
	LONG height = GetHeight();
	if (m_pBitmapInfoHeader->biBitCount<9)//灰度圖像
	{    
		// 暫時分配內存,以保存新圖像
		temp = new BYTE[wide*height];
		// 初始化新分配的內存,設定初始值為255
		lpDst = (LPBYTE)temp;
		memset(lpDst, (BYTE)255, wide * height);
		// 使用水平方向的結構元素進行腐蝕
		for (j = 0; j < height; j++)
		{
			for (i = 1; i < wide - 1; i ++)
			{
				// 由于使用1×3的結構元素,為防止越界,所以不處理最左邊和最右邊的兩列像素
				lpSrc = (unsigned char *)(p_data + wide *j + i);
				// 指向目標圖像倒數第j行,第i個象素的指針			
				lpDst = (unsigned char *)(temp + wide * j + i);
				// 目標圖像中的當前點先賦成黑色
				*lpDst = 0;
				// 如果源圖像中(-1,0)、(0,0)、(1,0)三個點之一有白點,
				// 則將目標圖像中的(0,0)點賦成白色
				for (n = 0; n < 3; n++)
				{
					if (*(lpSrc + (n - 1) ) > 128)
					{
						*lpDst = 255;
						break;
					}
				}				
			}
		}
		// 復制腐蝕后的圖像
		memcpy(p_data, temp, wide * height); 
		// 釋放內存
		delete temp; 
	}
	else //24位真彩色
	{
		LONG DibWidth;    //原圖長、寬	     
		DibWidth=this->GetDibWidthBytes();   //取得原圖的每行字節數
		BYTE *p_temp=new BYTE[height*DibWidth];
		// 使用水平方向的結構元素進行腐蝕
		for (j = 0; j < height; j++)
		{
			for (i = 3; i < DibWidth - 3; i +=3)
			{
				// 由于使用1×3的結構元素,為防止越界,所以不處理最左邊和最右邊的兩列像素
				lpSrc = (unsigned char *)(p_data + DibWidth *j + i);
				// 指向目標圖像倒數第j行,第i個象素的指針			
				lpDst = (unsigned char *)(p_temp + DibWidth * j + i);
				// 目標圖像中的當前點先賦成黑色
				*lpDst = 0;
				*(lpDst+1)=0;
				*(lpDst+2)=0;
				// 如果源圖像中(-1,0)、(0,0)、(1,0)三個點之一有白點,
				// 則將目標圖像中的(0,0)點賦成白色
				for(int m=0;m<3;m++)
				{
					for (n = 0; n < 3; n++)
					{
						if (*(lpSrc + (n - 1)*3 ) > 128)
						{
							*lpDst = 255;
							break;
						}
						else 
							*lpDst =*lpSrc;
					}
					lpSrc++;
					lpDst++;
				}
			}
		}
		// 復制腐蝕后的圖像
		memcpy(p_data, p_temp, DibWidth * height); 
		// 釋放內存
		delete []p_temp; 
	}	
}



///***************************************************************/           
/*函數名稱:Quanfangxiangfushi()                                        
/*函數類型:void                                      
/*功能:對圖像進行全方向腐蝕。            
/***************************************************************/
void FuShiYuPengZhangDib::Quanfangxiangfushi()
{
	// 指向DIB象素指針
	LPBYTE p_data;
	// 指向源圖像的指針
	LPBYTE	lpSrc;
	// 指向緩存圖像的指針
	LPBYTE	lpDst;
    // 指向緩存DIB圖像的指針
	LPBYTE	temp;
	//循環變量
	int i;
	int j;
	int  m;
	int n;
	// 找到DIB圖像象素起始位置
	p_data = GetData();
	// DIB的寬度
	LONG wide= GetWidth();
	// DIB的高度
	LONG height =GetHeight();
    if (m_pBitmapInfoHeader->biBitCount<9)//灰度圖像
	{  	
		// 暫時分配內存,以保存新圖像
		temp =new BYTE[wide*height];
		// 初始化新分配的內存,設定初始值為255
		lpDst = (LPBYTE)temp;
		memset(lpDst, (BYTE)255, wide * height);
		// 3×3的結構元素
		int B[9] = {1, 0, 1,
			        0, 0, 0,
			        1, 0, 1};
		// 使用全方向的結構元素進行腐蝕
		for (j = 1; j < height - 1; j++)
		{
			for (i = 1; i < wide - 1; i++)
			{
				// 由于使用3×3的結構元素,為防止越界,所以不處理最左、右、上、下四邊的像素
				// 指向源圖像倒數第j行,第i個象素的指針			
				lpSrc = (unsigned char *)(p_data + wide * j + i);
				// 指向目標圖像倒數第j行,第i個象素的指針			
				lpDst = (unsigned char *)(temp + wide * j + i);
				// 目標圖像中的當前點先賦成黑色
				*lpDst = 0; 
				// 如果源圖像中3×3結構元素對應位置有白點	
				// 則將目標圖像中的(0,0)點賦成白色
				for (m = 0; m < 3; m++)
				{
					for (n = 0; n < 3; n++)
					{
						if (B[m + n] == 1)
							continue;
						
						if (*(lpSrc + (1 - m) * wide +(n - 1) ) > 128)
						{
							*lpDst = 255;
							break;
						}
					}
				}				
			}
		}
		// 復制腐蝕后的圖像
		memcpy(p_data, temp, wide * height);
		// 釋放內存
		delete temp;
	}
	else //24位真彩色
	{
		LONG DibWidth;    //原圖長、寬	     
		DibWidth=this->GetDibWidthBytes();   //取得原圖的每行字節數
		BYTE *p_temp=new BYTE[height*DibWidth];
		// 3×3的結構元素
		int B[9] = {1, 0, 1,
		        	0, 0, 0,
		        	1, 0, 1};
		// 使用全方向的結構元素進行腐蝕
		for (j = 1; j < height - 1; j++)
		{
			for (i = 3; i < DibWidth - 3; i+=3)
			{
				// 由于使用3×3的結構元素,為防止越界,所以不處理最左、右、上、下四邊的像素
				// 指向源圖像倒數第j行,第i個象素的指針			
				lpSrc = (unsigned char *)(p_data + DibWidth * j + i);
				// 指向目標圖像倒數第j行,第i個象素的指針			
				lpDst = (unsigned char *)(p_temp + DibWidth * j + i);
				// 目標圖像中的當前點先賦成黑色
				*lpDst = 0;
				*(lpDst+1)=0;
				*(lpDst+2)=0;
				// 如果源圖像中3×3結構元素對應位置有白點	
				// 則將目標圖像中的(0,0)點賦成白色
				for(int l=0;l<3;l++)
				{
					for (m = 0; m < 3; m++)
					{
						for (n = 0; n < 3; n++)
						{
							if (B[m + n] == 1)
								continue;
							if (*(lpSrc + (1 - m) * DibWidth +(n - 1)*3 ) > 128)
							{
								*lpDst = 255;
								break;
							}
							else 
								*lpDst = *lpSrc;
						}
					}
					*lpSrc++;
					*lpDst++;
				}
			}
		}
		// 復制腐蝕后的圖像
		memcpy(p_data, p_temp, DibWidth * height);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩不卡一区二区| 粉嫩蜜臀av国产精品网站| 欧美高清视频在线高清观看mv色露露十八 | 午夜精品久久一牛影视| 欧洲另类一二三四区| 午夜欧美视频在线观看| 欧美一级黄色大片| 国产成人av网站| 亚洲黄色免费电影| 欧美成人vps| 99精品视频一区二区| 亚洲成人在线网站| 久久亚洲私人国产精品va媚药| 国产精品一级二级三级| 一区二区三区在线观看国产| 69久久99精品久久久久婷婷 | 成人午夜视频在线| 亚洲一区二区三区四区五区中文 | 国产成人免费视频精品含羞草妖精| 亚洲国产精品黑人久久久| 日本韩国欧美一区二区三区| 日欧美一区二区| 国产精品无人区| 欧美日韩国产小视频| 韩国精品主播一区二区在线观看 | 免费观看日韩av| 欧美国产国产综合| 欧美老年两性高潮| 成人性生交大片免费看视频在线| 亚洲精品中文字幕在线观看| 日韩精品一区二区三区视频播放 | 久久99精品国产麻豆不卡| 国产精品视频一二| 欧美日本一区二区| 成人午夜碰碰视频| 天天爽夜夜爽夜夜爽精品视频| 国产欧美一区二区三区在线看蜜臀| 欧美在线播放高清精品| 国产剧情一区二区| 日本成人中文字幕在线视频| 国产精品理论在线观看| 欧美一区二区三区人| 色偷偷成人一区二区三区91| 国产高清久久久| 蜜臀精品久久久久久蜜臀| 亚洲精品视频在线观看网站| 欧美精品一区二区三区高清aⅴ | 中文字幕一区三区| www欧美成人18+| 欧美精品九九99久久| 色诱亚洲精品久久久久久| 国产盗摄精品一区二区三区在线 | 福利一区二区在线| 精品中文字幕一区二区| 日本美女一区二区| 亚洲成人免费在线观看| 樱桃视频在线观看一区| 国产精品国产三级国产三级人妇 | 91麻豆精品国产91久久久久 | 国产精品乱码妇女bbbb| 久久综合狠狠综合久久综合88| 制服丝袜国产精品| 欧美高清视频不卡网| 色老头久久综合| 色婷婷久久久久swag精品| 国产精品一卡二卡在线观看| 久久精品国产免费| 蜜桃视频一区二区| 久久精品国产精品青草| 男人的天堂久久精品| 日韩成人午夜电影| 日韩国产在线观看| 日本成人在线电影网| 美女在线一区二区| 久久超碰97中文字幕| 激情综合五月天| 激情丁香综合五月| 国产精品自产自拍| 国产精品91xxx| 成人美女视频在线观看18| 岛国av在线一区| 菠萝蜜视频在线观看一区| 99麻豆久久久国产精品免费| 成人av在线资源| 91在线无精精品入口| 色久优优欧美色久优优| 欧美三级韩国三级日本一级| 欧美卡1卡2卡| 精品国产一区二区精华| 国产午夜亚洲精品不卡| 一区免费观看视频| 亚洲一区二区三区小说| 免费日本视频一区| 国产一区三区三区| av午夜精品一区二区三区| 在线观看一区日韩| 欧美一区国产二区| 久久精品一区二区三区不卡| 国产精品免费久久久久| 亚洲综合视频网| 久久国产福利国产秒拍| 懂色av中文字幕一区二区三区| heyzo一本久久综合| 在线观看亚洲a| 精品美女在线播放| 国产精品短视频| 日韩av一区二区三区四区| 国产jizzjizz一区二区| 欧美色老头old∨ideo| 精品剧情在线观看| 亚洲视频你懂的| 麻豆免费看一区二区三区| 成人av在线影院| 在线电影一区二区三区| 国产精品无圣光一区二区| 爽好久久久欧美精品| 丁香天五香天堂综合| 欧美精品免费视频| 中文字幕 久热精品 视频在线| 亚洲成av人综合在线观看| 国产不卡在线播放| 欧美日韩国产美| 亚洲国产成人午夜在线一区| 同产精品九九九| thepron国产精品| 日韩精品自拍偷拍| 亚洲欧美日韩电影| 国产成人精品综合在线观看| 欧美性受极品xxxx喷水| 国产拍揄自揄精品视频麻豆| 午夜精品免费在线观看| 92国产精品观看| 久久一二三国产| 天使萌一区二区三区免费观看| 成人三级伦理片| 久久午夜色播影院免费高清| 婷婷久久综合九色国产成人| 97久久人人超碰| 国产欧美一区二区三区在线老狼| 日韩1区2区日韩1区2区| 欧美午夜电影一区| 综合电影一区二区三区 | 午夜精品福利一区二区三区蜜桃| 成人av综合一区| 久久久久国产精品厨房| 美女一区二区久久| 欧美一区二区三区四区在线观看| 亚洲另类春色校园小说| 成人av在线看| 国产精品入口麻豆九色| 精品一区二区久久| 日韩亚洲欧美综合| 性久久久久久久久| 精品婷婷伊人一区三区三| 亚洲另类中文字| 91麻豆精品视频| 国产精品免费人成网站| 国产成人av一区| 国产精品丝袜黑色高跟| 成人精品免费看| 国产精品欧美精品| 99国产精品久久久久久久久久久 | 亚洲观看高清完整版在线观看 | 欧美日韩一区二区在线观看| 洋洋成人永久网站入口| 91免费视频大全| 亚洲欧美另类小说视频| 91一区二区在线| 亚洲综合小说图片| 欧美亚洲综合另类| 亚洲第一综合色| 欧美日韩美少妇| 一区二区在线免费| 欧美日韩亚洲国产综合| 日韩va亚洲va欧美va久久| 欧美日韩精品欧美日韩精品一| 午夜久久福利影院| 日韩欧美国产1| 国产成人av在线影院| **性色生活片久久毛片| 色老汉av一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 日韩精品最新网址| 风间由美中文字幕在线看视频国产欧美| 国产午夜一区二区三区| 色综合激情五月| 日韩成人av影视| 国产亚洲一本大道中文在线| 成人理论电影网| 亚洲一区在线免费观看| 欧美一区二区三区视频在线| 国产老女人精品毛片久久| 国产精品久久久久久久浪潮网站 | 在线免费一区三区| 老汉av免费一区二区三区| 国产人伦精品一区二区| 91久久精品一区二区| 麻豆成人综合网| 国产精品丝袜在线| 56国语精品自产拍在线观看|