在Octave / Matlab中如何在图像上绘制填充矩形(透明度为50%)?
我知道如何画一个这样的轮廓矩形:
img = imread('foo.jpg');
imshow(img);
hold;
rectangle('Position', [cx, cy, 10, 10], 'EdgeColor', [1,0,0], 'LineWidth', 50, 'LineStyle','-');
但是以下内容不会绘制一个透明的填充矩形:
img = imread('foo.jpg');
imshow(img);
hold;
%Draw filled red rectangle with 50% transparency.
rectangle('Position', [cx, cy, 10, 10], 'FaceColor', [1,0,0, 0.5], 'LineWidth', 50, 'LineStyle','-');
答案 0 :(得分:0)
在MATLAB中,您可以使用patch
代替rectangle
。
px = [0 1 1 0]*width + x;
py = [0 0 1 1]*height + y;
patch(px, py, 'Black', 'FaceColor', [1,0,0], 'LineWidth', 50, 'LineStyle', '-', 'FaceAlpha', 0.5);