| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2019-11-21 
				
				
				
					帖子: 3,013
				 
				
				
				声望力: 66 ![]()  | 
	
	
	
		
		
			
			 
			
			我编写了一个函数,该函数可以拍摄RGB图像,灰度图像和新矩阵,每次都从RGB图像或灰度图像中获取像素并将其复制到新矩阵中。  
		
		
		
		
		
		
		
	首先,我根据函数的输入将图像分为行和列。之后,我从输入中获取图像一次为灰色,一次为RGB,并创建一个与我收到的图像大小相同的新矩阵。每当计数器相等时,我都希望将灰度图像中的像素复制到新矩阵中标记的同一正方形中,而当计数器不相等时,则要从RGB图像中复制像素。 我收到以下错误消息:未定义的函数或变量'k'。 我该如何修复该功能? 我的功能: function [rgbToGray] = create_plot(rgbImg,inputRows,inputColmuns) % each even index replace to gray color rgbEvenPlace = rgbImg; rgbToGrayImg = rgb2gray(rgbImg); [rows, columns, numberOfColorChannels] = size(rgbEvenPlace); resultImg = zeros(rows, columns,numberOfColorChannels); numOfRow = rows / inputRows; numOfCol = columns / inputColmuns; counter = 1; for i = 1 : numOfRow : rows for j = 1 : numOfCol : columns if mod(counter,2) == 0 for k=1+i:numOfRow+i **Here i Undefined why?** for z=1+j:numOfCol+j **Here j Undefined why?** for d=1:3 resultImg(k,z,d) = rgbEvenPlace(k,z,d); end end end else resultImg(k,z) = rgbToGrayImg(k,z); end counter = counter + 1; end end figure, imshow(resultImg); % set lines on image for row = 1 : numOfRow : rows line([1, columns], [row, row], 'Color', 'w'); end for col = 1 : numOfCol : columns line([col, col], [1, rows], 'Color', 'w'); end % save image saveas(gcf,'moto.jpg'); end 谢谢 更多&回答...  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |