| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-03-18 
				
				年龄: 45 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			这是一个图像融合程序,我看不太懂,也没有运行出结果,:请各位达人帮我分析一下,谢谢啦! 
		
		
		
		
		
		
		
	%IHS变换融合 rgb_image1=imread('D:\My Documents\MATLAB\R2007a\toolbox\images\imdemos\mul.tif'); rgb_image1=im2double(rgb_image1); R=rgb_image1(:,:,1); G=rgb_image1(:,:,2); B=rgb_image1(:,:,3); I=(R+G+B); H=(G-B)/(3*(I-B)); S=1-B/I; rgb_image2=imread('D:\My Documents\MATLAB\R2007a\toolbox\images\imdemos\pan.tif'); rgb_image1=im2double(rgb_image1); rgb_image2=im2double(rgb_image2); I=rgb_image2; R=I*(1+2*S-3*H*S); G=I*(1-S+3*H*S); B=I*(1-S); rgb_image=cat(3,R,G,B); %将R,G,B组成一个三维数组 subplot(1,3,1);image(rgb_image1); subplot(1,3,2);image(rgb_image2); subplot(1,3,3);image(rgb_image);  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-11-01 
				
				年龄: 39 
				
					帖子: 406
				 
				
				
				声望力: 27 ![]()  | 
	
	
	
		
		
			
			 
			
			lz  
		
		
		
		
		
		
		
	1 .gif文件不是基于RGB格式的,直接读取并使用如下代码无法分离R、G、B分量; R=rgb_image1(:,:,1); G=rgb_image1(:,:,2); B=rgb_image1(:,:,3); 故导致代码无法运行;改为读取.bmp的图像文件应当可以运行。 2 不是IHS空间,而是HSI空间,即HSI空间假彩色模型,相关知识你可以百度或者Google一下,或者到数据库中查询。 Thx for reading. PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-09-06 
				
				年龄: 42 
				
					帖子: 32
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			强啊,学习中。。。。
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2011-03-11 
				
				
				
					帖子: 3
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			弱弱地问一下:灰度图像使用RGB怎么表示,二维矩阵如何确定?(,,1),(,,2)(,,3)是彩色图像的固定表示吗?
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2011-03-11 
				
				
				
					帖子: 3
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			不知有什么问题,即便是.bmp图片也不能运行 
		
		
		
		
		
		
		
	提示:??? Error using ==> mtimes Input arguments must be 2-D. Error in ==> ok at 14 R=I*(1+2*S-3*H*S);  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#6 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-05-13 
				
				年龄: 45 
				
					帖子: 232
				 
				
				
				声望力: 22 ![]()  | 
	
	
	
		
		
			
			 
			
			又见到silas_xue的帖子了,还是那么具体,那么详细,呵呵! 
		
		
		
		
		
		
			从楼主的错误提示"Input arguments must be 2-D." 上看,出现错误的表达式上有维数不匹配的问题.你可以断点运行下看看,R表达式中H,S,I分量的维数情况.看你前面的程序,感觉是矩阵除法上可能有问题,你可以查查,改用点运算的要用点运算. 
				__________________ 
		
		
		
		
	工科'985'博士,(图像处理、分析及理解;模式识别;运动估计;数据分析等)定做程序、算法实现--qq:752105755  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |