Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 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 谢谢 更多&回答... |
![]() |
![]() |