MATLAB中怎样让一个图像的边缘变平滑

MATLAB中怎样让一个图像的边缘变平滑,第1张

平滑就是要模糊。非黑即白的改物没法平滑。看样子你的高斯模糊参数已经固定了,不然没法找到边界,对吗?你可以多写几个判断。这个判断的本质是增强了对比度。所以造成锯齿的愿意就是你的判据,也就是那个数字240。这个判据是突变的,不核槐液可能没有锯齿。我建明谈议你修改颜色的密度分布,而不是简单的在240一刀切。给你举个例子。算法可以是rgb的数值先开根号再乘以根号下255。这样的结果是rgb数值越来越趋近于255,但是黑色部分保持不变。你体会下。具体算法要看你到底啥需求了

%%中值

I=imread('lena.bmp') %读原图

J1=imnoise(I,'salt &pepper',0.02)%加均值为0,方差为0.02的椒盐噪声

J2=imnoise(I,'gaussian',0.02) %加均值为0,方差为0.02的高斯噪中睁声。

subplot(2,2,1),imshow(J1) %显示有椒盐噪声图像

subplot(2,2,2),imshow(J2) %显示有高斯噪声图像

I1= medfilt2(J1,[5,5])%对有椒盐歼轮噪声图像进行5×5方形窗口中值滤波

I2= medfilt2(J2,[5,5])%对有高斯噪声图像进行5×5方形窗口中值滤波

subplot(2,2,3),imshow(I1) %显示有椒盐噪声图像的滤波结果

subplot(2,2,4),imshow(I2) %显示有高斯噪声图像的滤波结果

%%均衡氏培信

I=imread('lena.bmp') %将图读入到I

imshow(I) %显示图像

figure,imhist(I) %直方图

I2=histeq(I) %均衡化

figureimshow(I2) %处理后图像显示

figureimhist(I2) %均衡化后直方图

imwrite(I2,'lena2.bmp') %保存图像


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12290917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存