CodeForge QQ客服 CodeForge 400电话 客服电话 4006316121

ImageAReadMe.txt ( 文件浏览 )

  • 发布于2010-11-24
  • 浏览次数:30
  • 下载次数:1
  • 下载需 1 积分
  • 侵权举报
			            IPX1.0 工程应用简化版使用说明
               鲍捷,1999年3月13日

一、框架说明

	工程ImageA是一个最简单的图像处理框架,它的建造目的是使
工程和科技人员在研究图像处理算法时,绕过C,C++,VisualC++的技
术细节,直接验证自己的算法。
	ImageA是合肥工业大学的图像处理框架IPX最简化的版本,另外
两个版本是:
	1、简化版(S版)。提供了完全的图像处理能力,包括各种图像格式的
编解码(BMP,GIF,TIF,JPEG,PCX,BIF,PNG,TGA),区域处理,打印,
和一些基本的处理算法。
	2、完全版(F版)。在S版的基础上,增加了十多种标注功能,略缩图,
图像数据库,常用图像处理通用对话框,直方图,及视频捕捉能力。该版适
用于正式的软件开发。

	ImageA是用VisualC++ 6.0编写的,进一步的工作也需要在VC6.0环境
下进行。但您无须十分了解VisualC++,只要会最基本的C和简单了解VisualC++
环境的使用,即可加入自己的代码

二、组成

	ImageA包括内容:
	CAboutDlg    关于对话框
	   功能: 显示著作信息

	CChildFrame  子框架窗口
	   功能: 创建一个可以2 X 2剖分的多文档界面(MDI)子窗口

	CMainFrame   主框架窗口
		功能:1、创建程序的主窗口,菜单,工具条,状态条
		      2、响应调色板改变消息

	CImageAppA   图像应用程序
		该类对应于IPX类CImageApp
		功能:创建应用程序本身,注册文档模板

	CImageDocA   图像文档
		该类对应于IPX类CImageDoc
		功能:1、 读入BMP格式图像文件,设置图像信息(是否灰度,
			      图像句柄,大小,调色板)
			  2、保存图像数据为BMP格式图像文件
	CImageViewA  图像视图
		该类对应于IPX类CImageview
		功能:1、显示和打印图像
			  2、标准剪贴板操作:剪贴,复制,粘贴,重做,撤消,
			            清除剪贴板
			  3、响应用户命令,实现图像处理
			  4、更新图像文档(CImageDocA)内容
			  5、用户界面更新
	CGrayDoc     灰度图像文档
		该类对应于IPX类CGrayDoc,但将基类由CBMPDoc改为CImageDocA
		功能:检查图像是否为灰度图像

	DIBAPI       一组设备无关位图(DIB)处理函数

三、使用范例

	添加自己的图像处理算法的方法
	1、打开ImageA工程
	2、为该算法添加菜单项  打开VC资源视图,打开菜单IDR_MAINFRAME
	3、在“处理”子菜单下加入自己的菜单项,例如:
	     ID     :ID_IMAGE_MIRROR
	     Caption:镜像
	     Prompt :左右翻转图象\n镜像
	4、为该菜单项添加处理函数例如 
	     CImageViewA::OnImageMirror()
	5、编写函数主体 如
		//推荐使用这样的写法,您可以完全不需知道处理的编程细节而
		//直接加入自己的算法
		void CImageViewA::OnColorMirror() //镜像
		{

			// TODO: Add your command handler code here
			CImageDocA* pDoc = GetDocument();
			ASSERT_VALID(pDoc);
	
			if(pDoc->IsGray())
			{

				//灰度图像,如果你希望对灰度图像和彩色使用统一的处理,
				//这一段可以为空。对灰度图像的处理速度大约在彩色处理的
				//4倍以上,所以如果只处理256级灰度图像,推荐写出这一段
				BeginProcessingGray();
				DWORD w=m_entryImage.sizeImage.cx,h=m_entryImage.sizeImage.cy;
				for(DWORD i=0;i<w;i++)
					for(DWORD j=0;j<h;j++)
					{

						//灰度点处理,您可以将该段换为自己的代码
						SetGrayPixel(w-i-1,j,GetGrayOldPixel(i,j));
					
}
				EndProcessingGray();
			
}
			else
			{

				//彩色图像,如果你只希望对灰度图像处理,这一段可以为空
				BeginProcessingColor(); 
				DWORD w=m_entryImage.sizeImage.cx,h=m_entryImage.sizeImage.cy;
				for(DWORD i=0;i<w;i++)
					for(DWORD j=0;j<h;j++)
					{

						//彩色点处理,您可以将该段换为自己的代码
						SetPixel(w-i-1,j,GetOldPixel(i,j));
					
}
				EndProcessingColor(); 
			
}
		
}
	6、添加菜单项更新消息处理函数,例如
	     CImageViewA::OnUpdateImageMirror()
	7、编写菜单项更新函数主体,例如
		void CImageViewA::OnUpdateColorNegative(CCmdUI* pCmdUI) 
		{

			CImageDocA* pDoc = GetDocument();
			ASSERT_VALID(pDoc);
			pCmdUI->Enable(pDoc->GetHDIB() != NULL ); 	
		
}


四、用户手册
	在本段中包含了用户在加入自己的代码时所需要了解的类和函数信息
	1、必须了解的信息
		本小结中的函数是最基本的,您在编程中必然要使用
		 ⒈CImageViewA::GetGrayOldPixel

			BYTE GetGrayOldPixel( int x, int y);
			参数
				x  坐标X 
				y  坐标Y
	
			返回值
				该点的灰度值 0 - 255
			函数说明
				取灰度图像处理前指定位置的像素值

		⒉	CImageViewA::GetOldPixel

			COLORREF GetOldPixel(int x, int y);
			参数
				x  坐标X 
				y  坐标Y
	
			返回值
				该点的颜色值
			函数说明
				取(彩色)图像处理前指定位置的像素值

		⒊ CImageViewA::SetPixel

		   void SetPixel(int x, int y, COLORREF color)
			参数
				x  坐标X 
				y  坐标Y
				color 指定的颜色值,如纯红色RGB(255,0,0) 
	
			返回值
				无
			函数说明
				设置(彩色)图像指定位置的像素值
		⒋ CImageViewA::SetGrayPixel
		  
		   void SetGrayPixel(int x, int y, BYTE color)
			参数
				x  坐标X 
				y  坐标Y
				color 指定的灰度值,如白色255 
			返回值
				无
			函数说明
				设置灰度图像指定位置的像素值
	
	2、图像处理框架信息
	     知道上面4个函数后您已经可以完成自己的算法的实现了,
	   但如果您不想使用推荐的处理函数写法,了解以下函数是有益的。
	  ⒈BOOL CImageViewA::BeginProcessing();//通用处理开始函数
	  ⒉BOOL CImageViewA::EndProcessing();//通用处理结束函数
	        这两个函数不希望被用户引用

	  ⒊BOOL CImageViewA::BeginProcessingGray();//灰度处理开始函数
	  ⒋BOOL CImageViewA::EndProcessingGray();//灰度处理结束函数
	  ⒌BOOL CImageViewA::BeginProcessingColor();//彩色处理开始函数
	  ⒍BOOL CImageViewA::EndProcessingColor();//彩色处理结束函数
			这四个函数封装了预处理和处理后文档更新、显示更新的过程
			

	  ⒎BOOL CImageViewA::EndUseColor();//彩色图象使用结束
	  ⒏BOOL CImageViewA::EndUseGray();//灰度图象使用结束
	  ⒐BOOL CImageViewA::BeginUseColor();//彩色图象使用开始
	  ⒑ BOOL CImageViewA::BeginUseGray();	//灰度图象使用开始
	     如果您只是使用而不需要更新原图像数据,请使用
		       Beg
...
...
(完整源码请下载查看)
			
...
展开> <收缩

下载源码到电脑,阅读使用更方便

1 积分

快速下载
还剩0行未阅读,继续阅读
云测速

源码文件列表

温馨提示: 点击源码文件名可预览文件内容哦 ^_^
...
名称 大小 修改日期
011.00 B
ChildFrm.cpp2.00 kB04-03-99|22:14
ChildFrm.h1.47 kB04-03-99|22:14
COLOR.CPP3.28 kB06-07-98|18:45
Dibapi.cpp27.34 kB03-13-99|14:08
Dibapi.h2.39 kB03-17-99|19:59
File.cpp7.70 kB12-31-98|10:59
Graydoc.cpp1.45 kB04-04-99|09:14
Graydoc.h680.00 B04-04-99|09:26
GrayDocS.cpp565.00 B04-04-99|09:27
GrayDocS.h582.00 B04-04-99|09:28
Hough.cpp10.02 kB04-08-99|19:01
Hough.h708.00 B04-08-99|10:39
ImageApp.cpp4.95 kB04-06-99|11:52
ImageApp.h926.00 B04-06-99|11:51
ImageAReadMe.txt8.22 kB04-05-99|14:50
ImageDoc.cpp7.93 kB04-05-99|11:26
ImageDoc.h2.31 kB04-03-99|22:28
ImageRegion.cpp1.44 kB04-03-99|22:28
ImageRegion.h877.00 B04-03-99|22:28
ImageS.clw6.82 kB04-12-99|19:26
ImageS.cpp8.05 kB04-05-99|17:22
ImageS.dsp12.17 kB11-25-02|00:16
ImageS.dsw537.00 B04-08-99|13:44
ImageS.h1.33 kB04-05-99|17:22
ImageS.idl402.00 B04-05-99|17:22
ImageS.rc21.37 kB04-08-99|10:27
ImageS.reg1.52 kB04-03-99|22:13
ImageS.rgs175.00 B04-05-99|17:22
ImageView.cpp28.45 kB04-04-99|20:48
ImageView.h6.77 kB04-03-99|22:28
ImgDocS.cpp2.30 kB04-04-99|08:28
ImgDocS.h1.64 kB04-04-99|08:29
ImgVwS.cpp10.22 kB04-08-99|13:36
ImgVwS.h2.29 kB04-08-99|10:09
IpFrame.cpp3.80 kB04-03-99|22:14
IpFrame.h1.65 kB04-03-99|22:14
MainFrm.cpp2.70 kB04-03-99|22:13
MainFrm.h1.51 kB04-03-99|22:13
MakeHelp.bat1.35 kB04-03-99|22:13
Plugins.cpp2.36 kB04-04-99|10:13
Plugins.h863.00 B04-03-99|10:06
ProgDlg.cpp7.36 kB04-03-99|22:28
ProgDlg.h2.78 kB04-03-99|22:28
Rangeann.cpp4.48 kB04-03-99|22:28
Rangeann.h1.97 kB04-03-99|22:28
ReadMe.txt4.11 kB04-05-99|16:21
011.00 B
resource.h2.07 kB04-08-99|10:27
idr_main.ico1.05 kB04-05-99|16:51
ImageS.ico1.05 kB04-05-99|16:51
ImageS.rc2398.00 B04-03-99|22:13
ImgDocS.ico1.05 kB04-03-99|22:13
IToolbar.bmp718.00 B04-06-99|21:26
Toolbar.bmp2.58 kB04-07-99|20:07
SrvrItem.cpp3.04 kB04-03-99|22:13
SrvrItem.h1.30 kB04-03-99|22:13
StdAfx.cpp294.00 B04-05-99|17:22
StdAfx.h1.51 kB04-05-99|17:22
UnRedoStack.cpp2.63 kB04-04-99|20:46
UnRedoStack.h1.88 kB03-18-99|10:32
VCTW32MS.LIB9.40 kB12-11-97|15:46
VGrayPic.cpp854.00 B04-04-99|19:10
VGrayPic.h997.00 B04-04-99|11:04
VIC32MS.LIB90.82 kB01-12-99|16:07
VICDEFS.H39.49 kB01-13-99|14:25
VicPict.cpp58.94 kB04-05-99|11:32
VicPict.h11.88 kB04-05-99|10:44
VPicEx.cpp11.22 kB04-03-99|22:28
VPicEx.h885.00 B04-03-99|22:28
云测速

ImageAReadMe.txt (125.94 kB)

需要 1 积分
您持有 积分

CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了 了解更多

您的积分不足

支付宝优惠套餐快速获取 30 积分

订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。

更多付款方式:网银PayPal

上传代码,免费获取

您本次下载所消耗的积分将转交上传作者。

同一源码,30天内重复下载,只扣除一次积分。

登录 CodeForge

还没有CodeForge账号? 立即注册
关注微博
联系客服

Switch to the English version?

Yes
CodeForge 英文版
No
CodeForge 中文版

完善个人资料,获价值¥30元积分奖励!

^_^"呃 ...

Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧
好的