MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在Matlab中,如何在图像上绘制网格 (https://www.labfans.com/bbs/showthread.php?t=24123)

poster 2019-12-10 20:48

在Matlab中,如何在图像上绘制网格
 
如何在图像上绘制网格。它应该成为该图像本身的一部分。它应该能够在图像本身上显示一些行和列。可以指定行和列的行。实际上,我对一些研究论文讨论其图像变形结果的方式感到鼓舞。链接之一是: [URL="http://www.hammerhead.com/thad/morph.html"]http[/URL] : [URL="http://www.hammerhead.com/thad/morph.html"]//www.hammerhead.com/thad/morph.html[/URL]



[B]回答:[/B]

关于SO的许多相关问题都讨论了修改图像的方法。以下是两种一般方法:

[B]1.直接修改图像数据:[/B]我在[URL="https://stackoverflow.com/a/575519/52738"]回答其他SO问题时对此进行了讨论[/URL] 。由于图像数据可以是[URL="https://www.mathworks.com/help/matlab/creating_plots/image-types.html"]2-D或3-D[/URL] ,因此可以使用[URL="http://www.mathworks.com/help/matlab/math/multidimensional-arrays.html#f1-86846"]多维索引来[/URL]修改原始图像数据,沿着给定的行和列创建线。这是一个将图像中的每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]https://i.stack.imgur.com/B27C3.png[/IMG]

现在,变量img的图像数据上面有黑线,您可以将其写入文件或进行其他所需的处理。

[B]2.绘制图像和线条,然后将轴/图形转换为新图像:[/B] [URL="https://stackoverflow.com/a/4181946/52738"]zellus的答案[/URL]中[URL="http://blogs.mathworks.com/steve/2007/01/01/superimposing-line-plots/"]Steve[/URL] [URL="https://stackoverflow.com/a/4181946/52738"]Eddins[/URL] [URL="http://blogs.mathworks.com/steve/2007/01/01/superimposing-line-plots/"]博客[/URL]的[URL="http://blogs.mathworks.com/steve/2007/01/01/superimposing-line-plots/"]链接[/URL]显示了如何绘制图像并为其添加线条的示例。但是,如果要保存或对[I]显示的[/I]图像进行处理,则必须将显示的图像另存为图像矩阵。这些其他SO问题中已经讨论了如何做到这一点:
[LIST][*] [URL="https://stackoverflow.com/q/575475/52738"]如何在MATLAB中保存更改后的图像?[/URL][*] [URL="https://stackoverflow.com/q/1915891/52738"]将Matlab图变成图像[/URL][/LIST]
[url=https://stackoverflow.com/questions/4181913]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:33

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.