[已解决] 怎么在一幅灰度图像上画圆

[复制链接]
无面人 发表于 2021-1-11 12:45:33
图像是一个518×510的矩阵,确定了圆中心以及半径,想在图像中心显示一个圆,不知道哪里出了问题,图像没变,求大神解惑.
clear
A=imread('1.png');
figure(1),imshow(A)
[a,b,c]=size(A);
x=a/2;y=b/2;
R=50;
for i=1:a
    for j=1:b
        if ((x-i)^2)+((y-j)^2)==R^2
            A(i,j)=255;
        end
    end
end
figure(2),imshow(A)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

最佳答案


lyqmath 发表于 2021-1-13 00:01:10


参考
视觉参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]

  1. clear all; close all; clc;
  2. A=imread('1.png');
  3. figure(1),imshow(A)
  4. [a,b,c]=size(A);
  5. x=a/2;y=b/2;
  6. R=50;
  7. t = linspace(0,2*pi, 2e2);
  8. xt = x + R*cos(t);
  9. yt = y + R*sin(t);
  10. for i = 1 : length(xt)
  11.     A(round(yt(i)),round(xt(i)),1) = 255;
  12.     A(round(yt(i)),round(xt(i)),2) = 0;
  13.     A(round(yt(i)),round(xt(i)),3) = 0;
  14. end
  15. figure(2),imshow(A,[])
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复此楼

3 条回复


lyqmath 发表于 2021-1-13 00:01:10


参考
视觉参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]

  1. clear all; close all; clc;
  2. A=imread('1.png');
  3. figure(1),imshow(A)
  4. [a,b,c]=size(A);
  5. x=a/2;y=b/2;
  6. R=50;
  7. t = linspace(0,2*pi, 2e2);
  8. xt = x + R*cos(t);
  9. yt = y + R*sin(t);
  10. for i = 1 : length(xt)
  11.     A(round(yt(i)),round(xt(i)),1) = 255;
  12.     A(round(yt(i)),round(xt(i)),2) = 0;
  13.     A(round(yt(i)),round(xt(i)),3) = 0;
  14. end
  15. figure(2),imshow(A,[])
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复此楼

无面人 发表于 2021-1-13 08:59:36
lyqmath 发表于 2021-1-13 00:01
参考
视觉参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]

谢谢大神

应物周 发表于 2021-3-11 13:54:38
lyqmath 发表于 2021-1-13 00:01
参考
视觉参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等]

请问如何把图中的红色圆变宽呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表