如何在图像上绘制网格。它应该成为该图像本身的一部分。 它应该能够在图像本身上显示一些行和列。可以指定行和列的行。其实我对一些研究论文讨论关于图像变形的结果感到鼓舞。其中一个链接是这样的:http://www.hammerhead.com/thad/morph.html在matlab中,如何在图像上绘制网格
6
A
回答
10
SO上有许多相关的问题,讨论修改图像的方法。以下是两种一般方法:
1.直接修改图像数据:我在my answer to this other SO question中讨论这个。由于图像数据可以是2-D or 3-D,因此您可以使用multidimensional indexing来修改原始图像数据,并根据给定的行和列创建行。下面是一个变化,每10行和列的图像中黑色的例子:
img = imread('peppers.png'); %# Load a sample 3-D RGB image
img(10:10:end,:,:) = 0; %# Change every tenth row to black
img(:,10:10:end,:) = 0; %# Change every tenth column to black
imshow(img); %# Display the image
现在在变量img
的图像数据上有黑线,你可以将它写入文件或做任何你想要的其他处理。
2.剧情图像和线,然后转动轴/图到一个新的图像:在zellus' answer的link to Steve Eddins' blog示出如何可以绘制的图像,并添加行它的例子。但是,如果您想要保存或执行显示的图像的处理,则必须将显示的图像保存为图像矩阵。你如何能做到这已经在这些其他SO问题进行了讨论:
3
Superimposing line plots on images来自博客'史蒂夫在图像处理'有一个很好的例子,在图像上叠加网格。
+0
谢谢,这是我看到的最简单的例子。 – 2010-11-15 15:31:57
1
其实我看到这个问题,我自己做这个代码后....代码读取图像并绘制网格在图像上每一个输入参数
我希望它会做什么好:)
观看MATLAB代码:
function [ imageMatdouble ] = GridPicture(PictureName , countForEachStep)
%This function grid the image into counts grid
pictureInfo = imfinfo(PictureName); %load information about the input
[inputImageMat, inputImageMap] = imread(PictureName); % Load the image
if (pictureInfo.ColorType~='truecolor')
warning('The function works only with RGB (TrueColor) picture');
return
end
%1. convert from trueColor(RGB) to intensity (grayscale)
imageMat = rgb2gray(inputImageMat);
%2. Convert image to double precision.
imageMatdouble =im2double(imageMat);
% zero is create indicated to black
height = pictureInfo.Height ;
width = pictureInfo.Width
i=1;j=1;
while (i<=height)
for j=1:width
imageMatdouble(i,j)=1;
end
j=1;
if (i==1)
i=i+countForEachStep-1;
else
i=i+countForEachStep;
end
end
i=1;j=1;
while (i<=width)
for j=1:height
imageMatdouble(j,i)=1;
end
j=1;
if (i==1)
i=i+countForEachStep-1;
else
i=i+countForEachStep;
end
end
imwrite(imageMatdouble,'C:\Users\Shahar\Documents\MATLAB\OutputPicture.jpg')
end
相关问题
- 1. 在2D图像上绘制网格cocos3d
- 2. 绘制2D网格在MATLAB
- 3. 用Matlab在图上绘制图像
- 4. 如何在Silverlight中的网格上绘制图像?
- 5. 绘制2D:在网格布局图上绘制网格图
- 6. Matlab。如何绘制图像
- 7. 在Octave/Matlab上绘制点图像
- 8. 如何在Python中绘制网格图?
- 9. 如何在图像上绘制图像?
- 10. 在matlab上,我如何绘制rgb图像上的质心点?
- 11. 在Matlab中绘制网络
- 12. MATLAB ::在MATLAB上的图像(矩阵)上绘制数字
- 13. 在MATLAB中绘制极坐标图像
- 14. 在图像中绘制矩形 - Matlab
- 15. 如何在matlab中绘制背景图中的图像
- 16. 如何在UIView上绘制网格
- 17. 如何使用matlab在图像上绘制矩形?
- 18. Matlab - 如何在图像上绘制缩放的数字
- 19. 如何在之前绘制的MATLAB图上绘制数据点?
- 20. 如何在Matlab中绘制密度图
- 21. 如何在MATLAB中绘制图表?
- 22. R在地图上绘制网格值
- 23. 如何在网页上绘制2D网格或地图?
- 24. 如何在Matlab中绘制3D网格(立方体)
- 25. 在PictureBox上绘制网格
- 26. 在MATLAB中的地图上绘制点
- 27. 如何在MATLAB中的图像中绘制同心圆?
- 28. 如何在MATLAB中的图像中绘制三角形?
- 29. 如何在surfaceview上绘制图像android
- 30. 如何在Plots.jl上绘制图像?
我觉得'1.直接修改图像数据'中的示例代码稍微简单一些。 “2.绘制图像和线......”部分也有帮助。 – 2010-11-15 18:54:44