matlab医学图像处理 图像gamma修正与分割(边缘检测)

医学图像处理课程 实验课 图像gamma修正与分割

图像gamma修正

一、实验目的:

熟练章握Gamma修正算法原理,步骤和结果

二、实验数据:microorg.jpg

三、实验要求:

编写matlab程序,实现对实验數据
的亮度分量的Gamma修正,Gamma值分别取0.25、0.5、1、2, 3

四、实验方法和结果

步骤1:将像素值归一化,得到a∈[0,1];
歩骤2:计算伽马函数:b = dy;
歩骤3:将经过伽马修正的像素值做灰度变换,得到b∈[0,amax],用公式表示为
在这里插入图片描述
程序如下:
首先建立gamma修正图像绘制函数

function gammam(image, gamma)
 image=im2double(image);                
 image=rgb2gray(image);               
 s = image .^ gamma;  %对图像进行gamma修正
imshow(s), title(sprintf('Gamma: %0.2f',gamma));
end

然后进行函数调用即可

image=imread('图像素材2.jpg');
subplot(3,2,[1,2] );
imshow(image);
subplot(323);
gammam(image, 0.25);
subplot(324);
gammam(image, 0.5);
subplot(325);
gammam(image, 2);
subplot(326);
gammam(image, 3);

获得结果如下
在这里插入图片描述

图像边缘检测

对计算机合成图像Simulation作边缘检测,试对
检测结果定量评估。生成包括圆,正方形,矩形等不同灰度的图形

应用Sobel算子(双方向模板)等算法对合成图像进行|边缘检测,应用不同阈值取得不同边缘。

由于是计算机合成图像,可以精确知道单像素宽边缘位置(掩膜)。将合成图像边缘作为参考图像,与检|测边缘做定量比较

边缘提取的性能很难定量评估,有两个测度可供参考:

边缘检测错误率
在这里插入图片描述

其中,N1是漏检的边缘点数及误增加边缘点数之和,No是真正(参考)边缘点数。

程序与结果

clear;
close all;
w=512;r=200;
[rr,cc] = meshgrid(1:w);
edge_1=ceil(sqrt((rr-floor(w/2)).^2 + (cc-floor(w/2)).^2)) == r;%边界
circle_1 = sqrt((rr-floor(w/2)).^2 + (cc-floor(w/2)).^2) <= r; %圆形
subplot(231)
imshow(edge_1);title('边界');
subplot(232)
imshow(circle_1);title('图像');
sobel_edge=edge(circle_1,'sobel');%sobel边界
prewitt_edge=edge(circle_1,'prewitt');%prewitt边界
subplot(233)
imshow(sobel_edge);title('sobel检测边界');
subplot(234)
imshow(prewitt_edge);title('prewitt检测边界');

N_sobel=sum(sum(xor(sobel_edge,edge_1) ));%sobel相差点数
N_prewitt=sum(sum(xor(prewitt_edge,edge_1) ));%prewitt相差点数
N_edge= sum(sum(edge_1));  %标准边界点数 

P_sobel=N_sobel/N_edge;    %sobel算子P  
P_prewitt=N_prewitt/N_edge;%prwitt算子P
subplot(235)
imshow(xor(sobel_edge,edge_1));title(sprintf('sobel xor P=%0.4f',P_sobel))
subplot(236)
imshow(xor(prewitt_edge,edge_1));title(sprintf('prewitt xor P=%0.4f',P_prewitt))

程序运行结果如下
在这里插入图片描述

  • 0
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

feiGeorge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值