| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-02-01 
				
				年龄: 39 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			在用小波对图像进行消噪处理时遇到问题,原图像可以显示,但是噪声却加不上去。程序如下 
		
		
		
		
		
		
		
	load whale subplot(2,2,1); image(X); colormap(map); title('a'); init=2055615866; rand('seed',init); XX=X+12*randn(size(X)); subplot(2,2,2); image(XX); colormap(map); title('b'); 但是出现错误,说 ??? Error using ==> plus Integers can only be combined with integers of the same class, or scalar doubles. Error in ==> xiaozao3 at 8 XX=X+12*randn(size(X)); 貌似说整数的类型不一样,还望指教。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | |
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-01-31 
				
				年龄: 46 
				
					帖子: 12
				 
				
				
				声望力: 17 ![]()  | 
	
	
	
		
		
			
			 引用: 
	
 你需要说明whale里面的X是什么类型了。 12*randn(size(X))是一个double类型 建议你把 XX=X+12*randn(size(X))中的X 和12*randn(size(X))都转换成同一个类型的,例如unit8 下面的程序是没有问题的 X=[1,2;2,3]; subplot(2,2,1); image(X); %colormap(map); title('a'); init=2055615866; rand('seed',init); XX=im2uint8(X)+12*uint8(randn(size(X))); subplot(2,2,2); image(XX); %colormap(map); title('b'); 做图像处理,下面几个转换函数很有用 im2uint8 im2uint16 mat2gray im2double im2bw  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-02-01 
				
				年龄: 39 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			谢谢,加噪声已经可以了。但是还有一些问题,我用sym5小波函数进行2层分解,后面两个图像貌似和加噪图像一样,并没有优化,程序如下: 
		
		
		
		
		
		
		
	%装载原始图像信号 load whale whos; subplot(2,2,1); image(X); colormap(map); title('原始图像'); %生成含噪图像 init=2055615866; rand('seed',init); XX=im2uint8(X)+12*uint8(randn(size(X))); subplot(2,2,2); image(XX); colormap(map); title('含噪图像'); %下面对图像消噪 %首先用sym5小波函数对图像进行2层分解 [c,l]=(wavedec2(XX,2,'sym5')); %图像第1层的重构逼近信号 a1=wrcoef2('a',c,l,'sym5',1); %图像第2层的重构逼近信号 a2=wrcoef2('a',c,l,'sym5',2); %将a1转为uint8类型 a1=im2uint8(XX); subplot(2,2,3); image(a1); colormap(map); title('第1层重构图像'); %将a2转为uint8类型 a2=im2uint8(XX); subplot(2,2,4); image(a2); colormap(map); title('第2层重构图像'); 原始图像,加噪图像,第1层重构图像和第2层重构图像都能显示出来,但是后两个和加噪图像一模一样,并没有消噪的迹象,还望指教。 a1=im2uint8(XX);在这里我将a1和a2转了类型,于是X,XX,a1,a2都是uint8型,但是显示c,init,l,map仍然是double型,难道都要变成uint8型?  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-02-01 
				
				年龄: 39 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			谢谢,加噪声已经可以了。但是还有一些问题,我用sym5小波函数进行2层分解,后面两个图像貌似和加噪图像一样,并没有优化,程序如下: 
		
		
		
		
		
		
		
	%装载原始图像信号 load whale whos; subplot(2,2,1); image(X); colormap(map); title('原始图像'); %生成含噪图像 init=2055615866; rand('seed',init); XX=im2uint8(X)+12*uint8(randn(size(X))); subplot(2,2,2); image(XX); colormap(map); title('含噪图像'); %下面对图像消噪 %首先用sym5小波函数对图像进行2层分解 [c,l]=(wavedec2(XX,2,'sym5')); %图像第1层的重构逼近信号 a1=wrcoef2('a',c,l,'sym5',1); %图像第2层的重构逼近信号 a2=wrcoef2('a',c,l,'sym5',2); %将a1转为uint8类型 a1=im2uint8(XX); subplot(2,2,3); image(a1); colormap(map); title('第1层重构图像'); %将a2转为uint8类型 a2=im2uint8(XX); subplot(2,2,4); image(a2); colormap(map); title('第2层重构图像'); 原始图像,加噪图像,第1层重构图像和第2层重构图像都能显示出来,但是后两个和加噪图像一模一样,并没有消噪的迹象,还望指教。 a1=im2uint8(XX);在这里我将a1和a2转了类型,于是X,XX,a1,a2都是uint8型,但是显示c,init,l,map仍然是double型,难道都要变成uint8型?  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
		
  | 
	
		 | 
			 
			相似的主题
		 | 
	||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 | 
| 使用谱减法的语音增强matlab源程序 | 0503091020 | MATLAB论坛 | 5 | 2014-04-09 15:51 | 
| ORIGIN去卷积 | blanc | Origin论坛 | 0 | 2009-03-19 20:42 | 
| GM(1,1) | lvlianggan | MATLAB论坛 | 2 | 2008-11-07 22:52 | 
| [讨论]各位高手有谁试过C#成功调用matlab的神经网络工具箱吗? | beardgh | MATLAB论坛 | 0 | 2008-10-31 16:12 | 
| [求助]帮忙看看这个该怎么仿真 | sandy920324 | MATLAB论坛 | 2 | 2008-09-18 19:50 |