您的位置:首页 > 编程语言 > MATLAB

matlab 图像处理在图像上标记网格

2017-01-06 16:37 441 查看
假设现在讲一副图片分成10*10的网格,也就是将一副图像分成100等分的小块

图像img

首先需要找步长,也就是每个格子的边长为多少像素

[x,y] = size(img);    %找图像大小
grid_x = floor(x/10);   %将图像分成10*10的网格
grid_y = floor(y/10);
X = 1:grid_x:x;
Y = 1:grid_y:y;


步长找好了,就可以直接对相应的像素点进行操作,也就是在原图上标记网格

for i = 2:size(X,2)                           %%%%%%%%%%%%%%%%%%
for j = 1:y                                 %%%%%%%%%%%%%%%%%%
img(X(i),j)=~img(X(i),j);
%img(X(i),j) = 1;
end
end                                              %%%%%     画网格     %%%%%%%

for i = 2:size(Y,2)
for j = 1:x
img(j,Y(i))=~img(j,Y(i));
%img(X(i),j) = 1;             %%%%%%%%%%%%%%%%%%%%
end
end                                              %%%%%%%%%%%%%%%%%%%%%


figure,imshow(img)就可以了

特别的是,如果是三通道RGB图像,则需要将img改成双精度的

img=double(img); 即可

具体代码我放在这里


      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: