我想将图像读入MATLAB,在其上绘制一个矩形,然后保存图像.
另外,我只是在学习MATLAB - 请保持温和.看起来它应该很简单,但我似乎无法做到.
im = imread('image.tif');
imshow(im);
rectangle('Position', [100, 100, 10, 10]);
imwrite(im, 'image2.tif');
Run Code Online (Sandbox Code Playgroud)
即使我可以在图像上看到矩形,保存的图像也不会显示矩形.如何保存图像并显示矩形?
FWIW,我已经尝试过saveas(),但这给了我一个巨大的形象.有没有办法使用saveas()并使保存的图像正确的大小?
我已经生成了一个类似的情节
figure; hold;
axis([0 10 0 10]);
fill([ 1 1 5 5], [5 1 1 5],'b')
Run Code Online (Sandbox Code Playgroud)
现在我想将这个情节作为一个矩阵,以便我可以用高斯过滤博客.谷歌我发现这个线程在MATLAB Central上用Rasterizing Plot to Image.我试过了,但我只能让它适用于线条或功能图.
你有什么想法?
我一直在尝试使用imagesc函数显示纯黑色网格线,这样每个像素周围都有一个黑色边界.我尝试了一些方法,但似乎无论如何,线条总是通过像素.作为一个例子,对于imagesc(randn(21,21)),我试图得到一个图,其中每个正方形(即像素)这里有一个黑色边框.
我在这里找到了一个解决方案:在matlab中,如何在图像上绘制网格,但我不确定如何使用imagec,而不是a.jpg图像.
我也尝试使用hold on功能手动放置线条.但是每个解决方案,似乎网格线都穿过像素的中间.任何帮助,将不胜感激.谢谢.