2012-04-04 137 views
1

我想在点1和点2之间画一条线,也可以在图像或矩阵上用一个角度(例如15度的轴x)绘制一条线。我不只是想在图像上显示线条(如图)。我想实际改变像素值,这样我就可以保存图像并将其重新加载到那里。在Matlab中通过角度在图像/矩阵上绘制直线

谢谢

+1

重复:[MATLAB:绘制在黑白图像的线(http://stackoverflow.com/q/2464637/52738),[如何创建具有在所画的线的图像矩阵它在MATLAB?](http://stackoverflow.com/q/1940833/52738) – gnovice 2012-04-04 14:52:13

回答

1

如果您有图像处理工具箱,可以绘制使用功能imline()任意两点(无论是interactivly,或通过指定)之间的一条线。然后,您可以使用createMask()保存该行。这会给你一个只有线条的二进制图像。然后,您可以轻松地减去,添加或更改原始图像中的像素并保存它。

I = im2double(imread('pout.tif'));  %Read Image 
imshow(I,[]) 
h = imline(gca,[10 100], [80 100]);  %Create line 
Line = createMask(h);      %Extract binary line 
I = I + Line;        %Add line to orignal image 
+0

嗨Ghaul ...感谢您的建议。不幸的是我没有createMask()函数。任何替代方案? – Wahyu 2012-04-04 23:11:14