爲了方便對圖像邊界的處理,通常要把圖像矩陣進行擴展。
原圖:
代碼:
fig = figure('NumberTitle', 'off', 'name', 'Happy');
hold on;
LineWidth = 2;
FontSize = 12;
MarkerSize = 3;
for i = 1 : 9
plot([i i], [-1 -9], 'k', 'LineWidth', LineWidth);
plot([1 9], [-i -i], 'k', 'LineWidth', LineWidth);
end
% 上下
for j = 3 : 8
text(j-0.5, -1.5, ['U' num2str(j-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(j-0.5, -8.5, ['D' num2str(j-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
end
% 左右
for i = 3 : 8
text(1.5, -i+0.5, ['L' num2str(i-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(8.5, -i+0.5, ['R' num2str(i-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
end
% 四角
text(1.5, -1.5, 'UL', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(8.5, -1.5, 'UR', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(1.5, -8.5, 'DL', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(8.5, -8.5, 'DR', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
axis equal;
axis off;
擴展圖:
代碼:
fig = figure('NumberTitle', 'off', 'name', 'Happy');
hold on;
LineWidth = 2;
FontSize = 12;
MarkerSize = 3;
for i = 0 : 10
plot([i i], [0 -10], 'k', 'LineWidth', LineWidth);
plot([0 10], [-i -i], 'k', 'LineWidth', LineWidth);
end
% 上下
for j = 3 : 8
text(j-0.5, -0.5, ['U' num2str(j-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(j-0.5, -1.5, ['U' num2str(j-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(j-0.5, -8.5, ['D' num2str(j-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(j-0.5, -9.5, ['D' num2str(j-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
end
% 左右
for i = 3 : 8
text(0.5, -i+0.5, ['L' num2str(i-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(1.5, -i+0.5, ['L' num2str(i-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(8.5, -i+0.5, ['R' num2str(i-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(9.5, -i+0.5, ['R' num2str(i-1)], 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
end
% 四角
for i = 1 : 2
for j = 1 : 2
text(j-0.5, -i+0.5, 'UL', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(j+7.5, -i+0.5, 'UR', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(j-0.5, -i-7.5, 'DL', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
text(j+7.5, -i-7.5, 'DR', 'FontSize', FontSize, 'FontWeight', 'bold', 'HorizontalAlignment', 'center');
end
end
% 框出原圖
plot([1 9], [-1 -1], 'r', 'LineWidth', LineWidth+1);
plot([9 9], [-1 -9], 'r', 'LineWidth', LineWidth+1);
plot([9 1], [-9 -9], 'r', 'LineWidth', LineWidth+1);
plot([1 1], [-9 -1], 'r', 'LineWidth', LineWidth+1);
% 框出擴展方法
plot([0 10], [-2 -2], 'b', 'LineWidth', LineWidth+1);
plot([0 10], [-8 -8], 'b', 'LineWidth', LineWidth+1);
plot([2 2], [0 -10], 'b', 'LineWidth', LineWidth+1);
plot([8 8], [0 -10], 'b', 'LineWidth', LineWidth+1);
axis equal;
axis off;