Я хочу установить значения в строке, конечные точки которой возвращаются hough, преобразуются в ноль. Я написал следующий фрагмент кодаИзменение значений пикселей в строке в MATLAB
imshow(img);
hold on
img_black = img;
for k = 1:length(lines)
xy = [lines(k).point1; lines(k).point2]; %line end points
[x, y] = bresenham(xy(1,1),xy(1,2),xy(2,1),xy(2,2)); %returns all points on the line
for i = 1:length(x)
plot(x(i),y(i),'*'); %to plot individual pixels on line itself
img_black(x(i),y(i),:) = [0,0,0]; %set rgb values to zero
end
end
Хотя точки, нанесенные на изображении ниже, как и следовало ожидать
Изображение, где соответствующие значения пикселей в настоящее время установлены в ноль не как ожидалось.
Что здесь происходит?
спасибо. Наверное, я запутался, поскольку сюжет принимает аргументы в обратном порядке. Поскольку график (x (i), y (i)) работал, я думал, поэтому img (x (i), y (i)). – Harjatin
@HARJATINSINGH Yup! Это именно то, о чем я говорю. Это общая точка смятения. Надеюсь, это сработает для вас. – Suever