54summ 发表于 2009-6-15 17:21

怎样将图象显示成圆形?

一个正方形的图象,怎样只将其最大内切圆内的象素显示出来,而最大内切圆外的象素值赋成黑色或白色?

ChaChing 发表于 2009-6-15 23:01

有无现成函数可用, 个人不熟!
但个人以为硬功应该不难吧! 建议试试看!

xiezhh 发表于 2009-6-16 15:41

只是给你一个处理灰度图象的例子,稍作修改即可用于真彩图像。
...\MATLAB\R2006a\toolbox\images\imdemos路径下有一张灰度图片cameraman.tif,
运行下面代码试试看有什么变化
I = imread('cameraman.tif');
= size(I);
=meshgrid(1:n,1:m);
mengban=sqrt((x-n/2).^2+(y-m/2).^2);
mengban = mengban<=min(m/2,n/2);
I(~mengban)=0;
imshow(I)
效果图如下

54summ 发表于 2009-6-17 16:20

哇,你好聪明!多谢多谢!
页: [1]
查看完整版本: 怎样将图象显示成圆形?