在Matlab中删除RGB图像中的指定像素

时间:2018-02-25 19:44:26

标签: matlab computer-science seam-carving

接缝雕刻的一部分包括在你之后去除接缝 找到了。如果我有接缝的索引,我将如何进行 将其从图像的每一行中删除

图像(i,删除)= [];

因为它得到了不起作用 错误的尺寸。是唯一的方法 重建图像本身?

1 个答案:

答案 0 :(得分:0)

你不能在matlab中删除一些矩阵而不改变它的尺寸(如果它是一个方阵,你将获得一个列数组)。你有两个选择:

1)(选项I' d选择)使用cell2mat将矩阵转换为单元格。在每个单元格上,您将获得每个通道中像素的值(单元格中的{...,[rgb],...})或通道中的值({...; 1,1, 1; ...})。然后你可以通过把它放空而删除单元格的位置;

yourCell{indexToRemove} = [];

2)设置一个值以将像素识别为无效。例如,您可以在该像素索引中使用黑色(0,0,0)或白色(1,1,1)颜色。

如果您需要其中任何一个,我可以改进这两个选项中的任何一个。