Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-03-18, 05:31   #1
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 27
silas_xue 是一个将要出名的人
默认 回复: [求助]确定图像的中心并画几个同心圆

2 1如果你可以解决 2不是问题不是么?
3 你可以这样考虑这个问题,不是加线在图像上,而是画线,即将那些在等位线上的点的像素值改为你想要的等位线的颜色,比如说黑色,灰度图里就是255;还有一种就是叠加,即你在一副新的与该照片一样大小的图像上画好等位线(前提当然是已经解决1和2的情况下,即已经确定好圆心),然后叠加在当前图像上,需要注意的就是,数组值的溢出。

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
silas_xue 当前离线   回复时引用此帖
旧 2009-03-18, 06:48   #2
bjpu
初级会员
 
注册日期: 2009-02-21
年龄: 45
帖子: 10
声望力: 17
bjpu 正向着好的方向发展
默认 回复: [求助]确定图像的中心并画几个同心圆

谢谢,太感谢了!给我提供了这么多的思路!

关于第三条,我之前也思考过,当我确定圆心后,我把与圆心坐标的欧氏距离等于我需要的r值的点都画成我需要的颜色,但是我觉得点和点的欧氏距离算出来的是一个近似值,肯定不能恰恰等于我所需要的r。举个例子,比如我算出的r=9.1,圆心是[0,0],那[0,9]这个点可以被标注下来吗?主要可能是我对于Matlab的算法还是不是很清楚。。。

关于叠加的方法,我试验了一下,简单的A+B出来的图形变了颜色,我不知道是不是需要进行某些转换,而且好像不仅仅是简单的叠加,也可以说是覆盖。。。

还是太感谢大侠了!
bjpu 当前离线   回复时引用此帖
旧 2009-03-18, 07:00   #3
bjpu
初级会员
 
注册日期: 2009-02-21
年龄: 45
帖子: 10
声望力: 17
bjpu 正向着好的方向发展
默认 回复: [求助]确定图像的中心并画几个同心圆

关于确定圆心,我刚才也想了种方法,咱们交流一下,你看看是否能行。

我想的是利用黑色区域,因为黑色的[i,j,:]=0,所以用穷举算出左侧和右侧的端点。。。

不过感觉工作量还是很大的,不如提取圆形边缘省事儿,我再查一下提取圆形边缘的方法吧,起码有了思路,太感谢了。。。
bjpu 当前离线   回复时引用此帖
旧 2009-03-18, 07:02   #4
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 27
silas_xue 是一个将要出名的人
默认 回复: [求助]确定图像的中心并画几个同心圆

nice problem, I think.

第一段 因为是离散图像 这个是难免的,因为总是要取整的,在图像旋转时和图形学上,这是一个很有趣的研究方向。除非图像interpolation,否则是有更好,没有最好。(广告词用一下, 澳柯玛~)

第二段 我的意思你可能已经基本明白了 不过 没有注意我的提醒哦 数组值 即 灰度值的范围 你这样相加 可是有越界的危险 越界后当然0开始 可以说求了一个255的补 当然颜色变掉了 越界了 大于255了怎么办 那么就在代码中加入 判断语句
if >255
=255
end if
或者向你所说 也是我的前一个说法 用另外一种颜色 即灰度值 覆盖就可以了

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
silas_xue 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 09:57


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.