我如何在Matlab上旋转图像而不会得到黑色背景

时间:2019-04-21 12:32:40

标签: matlab image-processing

选中https://www.mathworks.com/help/matlab/matlab_prog/run-sections-of-programs.html,我可以使用旋转,但是会得到带有黑色背景的图像,如下所示:

enter image description here

并且我想要一个更像这样的图像:

enter image description here

基本上,我不想添加任何黑色或白色像素或任何像素,我只希望图像旋转而无需任何其他背景。

请注意,当我在matlab上显示第二张图像时,它也显示黑色背景和一堆0像素

1 个答案:

答案 0 :(得分:1)

我认为您可以使用

J =旋转(I,angle,method,'loose')

要在J中保存整个图像(在边框处包含0像素)。 然后,使用rgb2ind(https://it.mathworks.com/help/matlab/ref/rgb2ind.html)或bwconncomp(https://www.mathworks.com/help/images/ref/bwconncomp.html)可以识别包围图像的连接组件(应该有4个):这样,您可以将这些像素的颜色更改为白色 为了避免有4个分量,您可以先自己添加一个黑色矩形,以使图像J完全被黑色像素包围