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

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

?? imagenview.cpp

?? 這是VC++ 2003.net圖像處理的光盤源程序!!!非常好的
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
	ColorSobel(pImg[1],pImg[0],2);
	WorkCanvusToWindow();
}

void CImageNView::On2DimensionCombine()
{
	CClientDC	dc(this);
 	struct	IMAGEPARAMENT P;
	RGBQUAD ColorTab[256];
	WORD	two_dim[128][128];
	BYTE	*buf,buf1[256],*buf0;
	int		i,j,m,t,dp;
	long	pg[256];
  	char	*textbuf[]={"H","S","V","0" };

	ClearWindow(1);
 	GetImageParament(pImg[0],&P);
	pImg[2]->Destroy();
	pImg[2]->Create(256+5,256+5,8,0);

	buf =(BYTE*) malloc(P.nBytesPerLine);
	buf0=(BYTE*) malloc(P.nBytesPerLine);
	for (i=0;i<128;i++) {
		for (j=0;j<128;j++) {
			two_dim[i][j]=0;
		}
	}
	for (i=0;i<P.nHeight;i++) {
		GetRectValue(pImg[0],0,i,P.nWidth,1,buf);
		for (j=0,m=0;j<P.nWidth;j++,m+=P.nBytesPerPixel) 
			buf0[j]=(BYTE) (0.11*buf[m]+0.59*buf[m+1]+0.30*buf[m+2]);
		RgbToHsv(buf,buf,P.nWidth);
		for (j=0,m=0;j<P.nWidth;j++,m+=P.nBytesPerPixel) { 
 			two_dim[(255-buf[m+1])/2][buf[m]/2]++;
		}
 	}
 
	for (j=0;j<256;j++) pg[j]=0;
	for (j=0;j<128;j++) {
		for (i=0;i<128;i++) pg[2*j]+=two_dim[i][j];
	}
	dp=HueHistogShift(pg)/2;
 
 	for (i=0;i<128;i++) {
		for (j=0;j<128;j++) { 
 			t=two_dim[i][j];
			if (t>255) t=255;
 			buf1[(j-dp+128)%128]=t;
 		}
		SetRectValue(pImg[2],128+5,i,128,1,buf1);
 	}
	PsendoColor(ColorTab);
	SetAllPalette(pImg[2],ColorTab);

	RectFillValue(pImg[2],0,128,256+5,5,32);
	RectFillValue(pImg[2],128,0,5,256+5,32);
	RectFillValue(pImg[2],128+5+(0-dp+128)%128,128,1,5,255);
 	RectFillValue(pImg[2],128+5+(43-dp+128)%128,128,1,5,128);
 	RectFillValue(pImg[2],128+5+(85-dp+128)%128,128,1,5,0);

	for (i=0;i<128;i++) {
		for (j=0;j<128;j++) {
			two_dim[i][j]=0;
		}
	}
	for (i=0;i<P.nHeight;i++) {
		GetRectValue(pImg[0],0,i,P.nWidth,1,buf);
		for (j=0,m=0;j<P.nWidth;j++,m+=P.nBytesPerPixel) 
			buf0[j]=(BYTE) (0.11*buf[m]+0.59*buf[m+1]+0.30*buf[m+2]);
		RgbToHsv(buf,buf,P.nWidth);
		for (j=0,m=0;j<P.nWidth;j++,m+=P.nBytesPerPixel) { 
 			two_dim[buf0[j]/2][buf[m]/2]++;
		}
 	}
 
 	for (i=0;i<128;i++) {
		for (j=0;j<128;j++) { 
 			t=two_dim[i][j];
			if (t>255) t=255;
 			buf1[(j-dp+128)%128]=t;
 		}
		SetRectValue(pImg[2],128+5,128+5+i,128,1,buf1);
 	}

 	for (i=0;i<128;i++) {
		for (j=0;j<128;j++) {
			two_dim[i][j]=0;
		}
	}
	for (i=0;i<P.nHeight;i++) {
		GetRectValue(pImg[0],0,i,P.nWidth,1,buf);
		for (j=0,m=0;j<P.nWidth;j++,m+=P.nBytesPerPixel) 
			buf0[j]=(BYTE) (0.11*buf[m]+0.59*buf[m+1]+0.30*buf[m+2]);
		RgbToHsv(buf,buf,P.nWidth);
		for (j=0,m=0;j<P.nWidth;j++,m+=P.nBytesPerPixel) { 
 			two_dim[(255-buf[m+1])/2][(255-buf0[j])/2]++;
		}
 	}
	free(buf);
	free(buf0);

 	for (i=0;i<128;i++) {
		for (j=0;j<128;j++) { 
 			t=two_dim[i][j];
			if (t>255) t=255;
 			buf1[j]=t;
 		}
		SetRectValue(pImg[2],0,i,128,1,buf1);
 	}

	pImg[2]->BitBlt(dc,P.nWidth+40,40,256,256+5,0,0,SRCCOPY);
	dc.TextOut(P.nWidth+40+265,40+118,textbuf[0],lstrlen(textbuf[0]));
	dc.TextOut(P.nWidth+40+124,18,textbuf[1],lstrlen(textbuf[1]));
	dc.TextOut(P.nWidth+20,40+118,textbuf[2],lstrlen(textbuf[2]));
	dc.TextOut(P.nWidth+40+124,40+262,textbuf[2],lstrlen(textbuf[2]));
	dc.TextOut(P.nWidth+20+139,40+118+15,textbuf[3],lstrlen(textbuf[3]));
}

void CImageNView::OnIndexImage()
{
 	struct	IMAGEPARAMENT P;
	CString	str1;
 
 	GetImageParament(pImg[0],&P);
 	if (P.nBitCount>8)
 		TrueColorToIndex(pImg[0],pImg[0]); 
	else
 		LowTypeToIndex(pImg[0],pImg[0]); 

 	ImageCopy(pImg[1],pImg[0]);                 
	str1.Format(" 的索引圖像"); 
	WriteTitle(pImg[1],m_FileName,str1);                 
   	WorkCanvusToWindow();                      
}

void CImageNView::SelectDirection(int n)
{
 	CWnd*	pMain = AfxGetMainWnd();
	CMenu*	pMenu = pMain->GetMenu();

	nDirectionNo=n;
	for (int i=0;i<9;i++)
		pMenu->CheckMenuItem(ID_DIRECTION_NO0+i,MF_UNCHECKED);
	pMenu->CheckMenuItem(ID_DIRECTION_NO0+n,MF_CHECKED);
}

void CImageNView::OnDirectionNo0()
{
	SelectDirection(0);
}

void CImageNView::OnDirectionNo1()
{
	SelectDirection(1);
}

void CImageNView::OnDirectionNo2()
{
	SelectDirection(2);
}

void CImageNView::OnDirectionNo3()
{
	SelectDirection(3);
}

void CImageNView::OnDirectionNo4()
{
	SelectDirection(4);
}

void CImageNView::OnDirectionNo5()
{
	SelectDirection(5);
}

void CImageNView::OnDirectionNo6()
{
	SelectDirection(6);
}

void CImageNView::OnDirectionNo7()
{
	SelectDirection(7);
}

void CImageNView::OnDirectionNo8()
{
	SelectDirection(8);
}

void CImageNView::OnSaveMask()
{
	ImageCopy(pImg[8],pImg[1]);
	if (pImg[8]->GetBPP()>1)
		IndexToLowType(pImg[8],pImg[8]);
}

void CImageNView::OnSaveMaskA()
{
	ClearWindow(0);
	AdjustAreaType(pImg[1]);
	OnSaveMask();
}

void CImageNView::OnRemoveBackgrond()
{
	RemoveBackgrond(pImg[8],pImg[1]);
	WorkCanvusToWindow();
}

void CImageNView::OnSaveAddImage()
{
	ImageCopy(pImg[7],pImg[1]);
}

void CImageNView::OnAddImage()
{
 	struct	IMAGEPARAMENT P;
 
	GetImageParament(pImg[1],&P);
  
	AddImage(pImg[1],pImg[7]);
	WorkCanvusToWindow();
}

void CImageNView::OnSobelRgb()
{
 	CWnd*	pMain = AfxGetMainWnd();
	CMenu*	pMenu = pMain->GetMenu();

	nSobelFlag=0;

 	for (int i=0;i<3;i++)
		pMenu->CheckMenuItem(ID_SOBEL_RGB+i,MF_UNCHECKED);
	pMenu->CheckMenuItem(ID_SOBEL_RGB+nSobelFlag,MF_CHECKED);  
}

void CImageNView::OnSobelYiq()
{
 	CWnd*	pMain = AfxGetMainWnd();
	CMenu*	pMenu = pMain->GetMenu();

	nSobelFlag=1;

	for (int i=0;i<3;i++)
		pMenu->CheckMenuItem(ID_SOBEL_RGB+i,MF_UNCHECKED);
	pMenu->CheckMenuItem(ID_SOBEL_RGB+nSobelFlag,MF_CHECKED);  
}

void CImageNView::OnSobelLab()
{
 	CWnd*	pMain = AfxGetMainWnd();
	CMenu*	pMenu = pMain->GetMenu();

	nSobelFlag=2;

	for (int i=0;i<3;i++)
		pMenu->CheckMenuItem(ID_SOBEL_RGB+i,MF_UNCHECKED);
	pMenu->CheckMenuItem(ID_SOBEL_RGB+nSobelFlag,MF_CHECKED);  
}

void CImageNView::OnImageY()
{
	ToYIQLAB(pImg[1],pImg[0],0);
	WorkCanvusToWindow();
}

void CImageNView::OnImageI()
{
	ToYIQLAB(pImg[1],pImg[0],1);
	WorkCanvusToWindow();
}

void CImageNView::OnImageQ()
{
	ToYIQLAB(pImg[1],pImg[0],2);
	WorkCanvusToWindow();
}

void CImageNView::OnImageL()
{
	ToYIQLAB(pImg[1],pImg[0],3);
	WorkCanvusToWindow();
}

void CImageNView::OnImageA()
{
	ToYIQLAB(pImg[1],pImg[0],4);
	WorkCanvusToWindow();
}

void CImageNView::OnImageB()
{
	ToYIQLAB(pImg[1],pImg[0],5);
	WorkCanvusToWindow();
}

void CImageNView::OnContourTracking()
{
	CString	str1;

	ClearWindow(0);
 	ContourTracking(pImg[1]);
 	SetDefaultPalette(pImg[1]);
	str1.Format(" 的索引圖像"); 
	WriteTitle(pImg[1],m_FileName,str1); 
   	WorkCanvusToWindow();
}

void CImageNView::OnAreaParamentMeasure()
{
	ClearWindow(0);
  	m_nFlag=ID_AREA_PARAMENT_MEASURE;
}

void CImageNView::OnMakeMask()
{
	ClearWindow(0);
  	m_nFlag=ID_MAKE_MASK;
	m_nMaskF=0;
}

void CImageNView::OnLineCoding()
{
	CString	str1;

	ClearWindow(0);
 	LineCode(pImg[1]);
 	SetDefaultPalette(pImg[1]);
	str1.Format(" 的索引圖像"); 
	WriteTitle(pImg[1],m_FileName,str1); 
   	WorkCanvusToWindow();
}

void CImageNView::OnAreaMeasure()
{
	ClearWindow(1);
  	m_nFlag=ID_AREA_MEASURE;
}

void CImageNView::OnSearchAreaKernel()
{
 	struct	IMAGEPARAMENT P;
	CClientDC	dc(this);
  	CString		str="區域數";
	int			n;

	ClearWindow(0);
 	n=SearchAreaKernel(pImg[1]);
   	WorkCanvusToWindow();

	GetImageParament(pImg[1],&P);
	dc.SelectStockObject(WHITE_PEN);
	dc.SelectStockObject(WHITE_BRUSH);
 	dc.Rectangle(P.nWidth+10,0,1023,624);

	dc.TextOut(P.nWidth+50,40,str);
	str.Format("%d",n);
	dc.TextOut(P.nWidth+150,40,str);
}

void CImageNView::OnLimitErosion()
{
	ClearWindow(0);
    ShowCursor(FALSE);
 	LimitErosion(pImg[1]);
    ShowCursor(TRUE);
   	WorkCanvusToWindow();
}

void CImageNView::OnConditionDilation()
{
    ShowCursor(FALSE);
	ConditionDilation(pImg[8],pImg[1]);
    ShowCursor(TRUE);
   	WorkCanvusToWindow();
}

void CImageNView::OnAutomaticSelect()
{
 	CWnd*	pMain = AfxGetMainWnd();
	CMenu*	pMenu = pMain->GetMenu();

	nTrackFlag=0;

	for (int i=0;i<3;i++)
		pMenu->CheckMenuItem(ID_AUTOMATIC_SELECT+i,MF_UNCHECKED);
	pMenu->CheckMenuItem(ID_AUTOMATIC_SELECT+nTrackFlag,MF_CHECKED);  
}

void CImageNView::OnWhiteArea()
{
 	CWnd*	pMain = AfxGetMainWnd();
	CMenu*	pMenu = pMain->GetMenu();

	nTrackFlag=1;

	for (int i=0;i<3;i++)
		pMenu->CheckMenuItem(ID_AUTOMATIC_SELECT+i,MF_UNCHECKED);
	pMenu->CheckMenuItem(ID_AUTOMATIC_SELECT+nTrackFlag,MF_CHECKED);  
}

void CImageNView::OnBlackArea()
{
 	CWnd*	pMain = AfxGetMainWnd();
	CMenu*	pMenu = pMain->GetMenu();

	nTrackFlag=2;

	for (int i=0;i<3;i++)
		pMenu->CheckMenuItem(ID_AUTOMATIC_SELECT+i,MF_UNCHECKED);
	pMenu->CheckMenuItem(ID_AUTOMATIC_SELECT+nTrackFlag,MF_CHECKED);  
}

//-------------------------------------------------------------

void CImageNView::OnLButtonDown(UINT nFlags, CPoint point)
{
	if ((m_nFlag == ID_MAKE_MASK)&&(m_nMaskF==0)) {
 		m_nStartX = m_nMaskX = point.x;
		m_nStartY = m_nMaskY = point.y;
		m_nMaskF=1;

		MakeMask(point.x,point.y,0);
	}

	CView::OnLButtonDown(nFlags, point);
}

void CImageNView::OnMouseMove(UINT nFlags, CPoint point)
{
	CClientDC	dc(this);
 	CPen		penPen(PS_SOLID,1,RGB(255,0,192)),*pOldPen;

	if ((m_nFlag == ID_MAKE_MASK)&&(m_nMaskF==1)) {
 		pOldPen = dc.SelectObject(&penPen);
 		dc.MoveTo(m_nMaskX,m_nMaskY);
		dc.LineTo(point.x,point.y);
  		dc.SelectObject(pOldPen);
		penPen.DeleteObject();
		m_nMaskX = point.x;
		m_nMaskY = point.y;

		MakeMask(point.x,point.y,1);
 	}

	CView::OnMouseMove(nFlags, point);
}

void CImageNView::OnLButtonUp(UINT nFlags, CPoint point) 
{
 	struct	IMAGEPARAMENT P;
	CClientDC	dc(this);
  	CPen		penPen(PS_SOLID,1,RGB(255,0,192)),*pOldPen;
 	int			i,per,ar;
	double		fac;
	char		*textbuf[]={"周長","面積","形狀參數" };
	CString		str;

	GetImageParament(pImg[1],&P);
	if ((m_nFlag == ID_AREA_PARAMENT_MEASURE)||
		(m_nFlag == ID_AREA_MEASURE))  {
		dc.SelectStockObject(WHITE_PEN);
		dc.SelectStockObject(WHITE_BRUSH);
 		dc.Rectangle(P.nWidth+10,0,1023,624);

		dc.SetTextColor(RGB(0,0,0));
		for (i=0;i<3;i++) 
			dc.TextOut(P.nWidth+50,40+25*i,textbuf[i]);
 
		if (m_nFlag==ID_AREA_PARAMENT_MEASURE) {
			ar=ParamentMeasure(pImg[1],point,1,&per,&fac);
   			WorkCanvusToWindow();
			str.Format("%d",per);
			dc.TextOut(P.nWidth+150,40,str);
 			str.Format("%5.2lf",fac);
			dc.TextOut(P.nWidth+150,90,str);
		}
		else if (m_nFlag==ID_AREA_MEASURE) {
			ar=ParamentMeasure(pImg[1],point,2,&per,&fac);
   			WorkCanvusToWindow();
		}
		str.Format("%d",ar);
		dc.TextOut(P.nWidth+150,65,str);
	}
	else if ((m_nFlag == ID_MAKE_MASK)&&(m_nMaskF==1)) {
 		pOldPen = dc.SelectObject(&penPen);
 		dc.MoveTo(point.x,point.y);
		dc.LineTo(m_nStartX,m_nStartY);
  		dc.SelectObject(pOldPen);
		penPen.DeleteObject();
		m_nFlag=0;
 
		MakeMask(point.x,point.y,2);
		CreateMaskImage(pImg[6]);
 		pImg[6]->BitBlt(dc,P.nWidth+20,20,pImg[6]->GetWidth(),
			               pImg[6]->GetHeight(),0,0,SRCCOPY);
	}

	CView::OnLButtonUp(nFlags, point);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品系列| 免费成人在线网站| 欧美精品日韩精品| 国产剧情在线观看一区二区| 亚洲欧洲成人自拍| 成人丝袜视频网| 亚洲午夜久久久久久久久电影网 | 欧美影院一区二区| 日韩电影在线观看网站| 国产午夜亚洲精品理论片色戒 | 不卡在线观看av| 日本特黄久久久高潮| 欧美韩日一区二区三区| 欧美日韩国产综合视频在线观看 | 欧美伊人久久久久久午夜久久久久| 日本aⅴ精品一区二区三区 | 欧美激情一区二区三区四区| 91在线播放网址| 久久精品二区亚洲w码| 亚洲丝袜自拍清纯另类| 欧美精品在线视频| 91蜜桃网址入口| 国产91在线|亚洲| 亚洲在线视频免费观看| 欧美激情一区二区在线| 正在播放亚洲一区| 在线精品视频免费观看| 懂色一区二区三区免费观看| 老司机精品视频线观看86 | 色综合夜色一区| 极品少妇xxxx精品少妇偷拍 | 日韩激情一二三区| 亚洲一区日韩精品中文字幕| 精品国产三级a在线观看| 4438成人网| 色偷偷一区二区三区| 国产成人在线看| 国产在线不卡一区| 蜜臀精品一区二区三区在线观看 | 欧美一级二级三级乱码| 欧日韩精品视频| 99精品视频免费在线观看| 国产一区视频在线看| 日韩黄色免费电影| 日韩国产精品久久| 午夜国产不卡在线观看视频| 久久机这里只有精品| 亚洲va中文字幕| 亚洲激情第一区| 亚洲欧美日本在线| 国产精品国产三级国产aⅴ无密码| 精品国产免费一区二区三区香蕉 | 国产精品综合一区二区三区| 毛片基地黄久久久久久天堂| 日韩激情视频在线观看| 日韩高清不卡在线| 日韩中文字幕麻豆| 秋霞电影网一区二区| 免费成人性网站| 精品中文字幕一区二区| 激情偷乱视频一区二区三区| 国产一区二区三区高清播放| 精品一区二区三区蜜桃| 国产精品91xxx| 成人ar影院免费观看视频| caoporn国产精品| 91一区一区三区| 欧美亚洲综合久久| 91精品国产色综合久久不卡蜜臀 | 精品视频在线免费看| 欧美日韩视频不卡| 日韩欧美国产高清| 日本一区二区视频在线| 亚洲视频 欧洲视频| 最新国产精品久久精品| 亚洲成av人片在线观看| 麻豆国产精品官网| 成人妖精视频yjsp地址| 91小视频在线免费看| 欧美日韩和欧美的一区二区| 精品国产乱码久久| 中文字幕一区二区三区在线观看| 亚洲精品免费在线| 成人激情电影免费在线观看| 日本高清视频一区二区| 色婷婷综合激情| 欧美一二三区精品| 中文字幕亚洲精品在线观看| 亚洲三级免费观看| 美女一区二区三区在线观看| 国产传媒久久文化传媒| 欧美在线免费观看亚洲| 日韩色视频在线观看| 欧美激情一区二区三区不卡| 亚洲精品欧美激情| 日韩av电影免费观看高清完整版在线观看| 日韩欧美中文字幕公布| 亚洲精品在线网站| 一区二区三国产精华液| 老司机精品视频在线| 99久久亚洲一区二区三区青草| 在线精品亚洲一区二区不卡| 久久久影视传媒| 亚洲伊人色欲综合网| 国产伦精品一区二区三区免费迷 | 欧美成人官网二区| 亚洲乱码国产乱码精品精98午夜 | 免费观看日韩av| 国产不卡视频在线播放| 欧美理论片在线| 精品美女一区二区| 国产精品1024久久| 欧美一级淫片007| 日韩精品一区第一页| 欧美妇女性影城| 亚洲国产精品激情在线观看| 亚洲色图视频网站| 久久99国产精品免费| 91香蕉视频污| 亚洲成va人在线观看| www.日韩精品| 久久精品视频在线看| 琪琪久久久久日韩精品| 99精品久久99久久久久| 最新国产精品久久精品| 色国产综合视频| 日韩理论片在线| 91论坛在线播放| 久久国产夜色精品鲁鲁99| 久久看人人爽人人| 欧美mv日韩mv亚洲| 日本伦理一区二区| 一区二区三区产品免费精品久久75| 欧美日韩激情在线| 国产ts人妖一区二区| 亚洲国产日韩精品| 国产精品久久久久9999吃药| 欧美精品丝袜中出| 丁香激情综合国产| 欧美日韩一区二区在线观看视频 | 免播放器亚洲一区| 久久久亚洲高清| 91免费视频大全| 激情成人午夜视频| 亚洲美女偷拍久久| 精品免费国产一区二区三区四区| 国产91富婆露脸刺激对白| 亚洲444eee在线观看| 国产女人18水真多18精品一级做| 色综合网色综合| 极品少妇xxxx精品少妇偷拍| 亚洲靠逼com| 国产欧美日韩麻豆91| 日韩欧美成人午夜| 在线免费观看日本欧美| 久久99精品久久久久久国产越南| 综合在线观看色| 中文字幕欧美区| 精品久久一区二区| 日韩欧美久久久| 69久久夜色精品国产69蝌蚪网| 成人性色生活片免费看爆迷你毛片| 午夜欧美视频在线观看 | 天天操天天色综合| 亚洲人成精品久久久久久 | 国内精品久久久久影院一蜜桃| 国产一区二区三区黄视频| 国产乱一区二区| 精品国产凹凸成av人网站| 午夜久久久久久久久久一区二区| 日韩精品一二三四| 成人h动漫精品| 国产精品色哟哟| 不卡av在线免费观看| 成年人国产精品| 成人永久免费视频| 香蕉av福利精品导航| 午夜免费欧美电影| 欧美日韩在线三区| 男人的j进女人的j一区| 久久精品一区二区三区不卡牛牛| 免费成人美女在线观看| 国产精品久久久久婷婷二区次| 欧美精品在线视频| 不卡免费追剧大全电视剧网站| 亚洲高清免费观看 | 欧美一级淫片007| 99精品视频在线免费观看| 日本少妇一区二区| 综合在线观看色| 视频一区视频二区中文| 亚洲午夜视频在线| 国产乱理伦片在线观看夜一区| 99久久国产免费看| 日韩一区二区三区视频| 最新国产の精品合集bt伙计| 日日夜夜精品视频天天综合网| 国产成人综合视频| 欧美色图12p| 国产精品欧美极品|