【发布时间】:2018-01-18 15:50:06
【问题描述】:
我正在尝试使用 imfreehand(...) 将一个图像中的选定区域替换为另一图像中的相应区域。
这是我目前的代码:
% Sample images:
I1=imread('office_1.jpg');
I2=imread('office_5.jpg');
imshow(I1)
h = imfreehand;
wait(h);
pixels = getPosition(h);
x = pixels(:,1);
y = pixels(:,2);
for i = 1:numel(x)
I1(y(i), x(i), :) = I2(y(i), x(i), :);
end
imshow(I1)
但是,我收到错误消息:“索引必须是正整数或逻辑整数。”在这种情况下,我不确定为什么会出现这个错误以及如何纠正它。
任何解释将不胜感激。
【问题讨论】:
-
我认为
getPosition返回双精度而不是整数。改用round(getPosition(h))
标签: matlab image-processing roi