如何在 MATLAB 中改变边的颜色?
How to change color of edge in MATLAB?
我有一个脚本可以获取图像并应用一些边缘检测方法,例如 canny、sobel 和 log。当我 运行 文件时,绘制了一个图形,边缘是白色的。
有没有办法将边缘的颜色更改为首选颜色?
function cw1
im0 = imread('lighthouse.png');
im = rgb2gray(im0);
im3 = edge(im,'canny');
im4 = edge(im, 'sobel');
im5 = edge(im, 'log');
im2 = my_edge1(im);
subplot(3,2,1), subimage(im); title ('Original'); axis off
subplot(3,2,2), subimage(im2); title ('My Edge'); axis off
subplot(3,2,3), subimage(im3); title ('Canny'); axis off
subplot(3,2,4), subimage(im4); title ('Sobel'); axis off
subplot(3,2,5), subimage(im5); title ('Log'); axis off
end
这个问题不是很明确,但我会尽力提供帮助。这是使用绿色边缘的演示:
function q47394633
im = rgb2gray(imread('peppers.png'));
e = edge(im); % logical matrix, where "true" indicates an edge.
g = reshape(uint8([0 255 0]),[1,1,3]) .* uint8(e); % Turn the above to RGB while making
figure(); % only the green channel nonzero.
subplot(3,1,1); imshow(e); % Show white edges
subplot(3,1,2); imshow(g); % Show green edges
subplot(3,1,3); imshow(im+g); % Show green edges on the image
end
我有一个脚本可以获取图像并应用一些边缘检测方法,例如 canny、sobel 和 log。当我 运行 文件时,绘制了一个图形,边缘是白色的。
有没有办法将边缘的颜色更改为首选颜色?
function cw1
im0 = imread('lighthouse.png');
im = rgb2gray(im0);
im3 = edge(im,'canny');
im4 = edge(im, 'sobel');
im5 = edge(im, 'log');
im2 = my_edge1(im);
subplot(3,2,1), subimage(im); title ('Original'); axis off
subplot(3,2,2), subimage(im2); title ('My Edge'); axis off
subplot(3,2,3), subimage(im3); title ('Canny'); axis off
subplot(3,2,4), subimage(im4); title ('Sobel'); axis off
subplot(3,2,5), subimage(im5); title ('Log'); axis off
end
这个问题不是很明确,但我会尽力提供帮助。这是使用绿色边缘的演示:
function q47394633
im = rgb2gray(imread('peppers.png'));
e = edge(im); % logical matrix, where "true" indicates an edge.
g = reshape(uint8([0 255 0]),[1,1,3]) .* uint8(e); % Turn the above to RGB while making
figure(); % only the green channel nonzero.
subplot(3,1,1); imshow(e); % Show white edges
subplot(3,1,2); imshow(g); % Show green edges
subplot(3,1,3); imshow(im+g); % Show green edges on the image
end