MATLAB 图像处理

MATLAB 图像处理,第1张

下边的程序是我自己编的希望能给你参考。其中的imhist是显示直方图的,如果你不用可以直接删去。我已经将程前拆序里的图片地址写成了d:\blood.jpg你将图片存在d盘,标明名字blood,注意类型为jpg即可。

1.1

显示更加清楚可以用直方图均衡化。

程序1:

%直方图均衡化,令对比度自适应直方图均衡化

I=imread('你的图片(注意要用英文的。比如'd:\blood.jpg')')

I=rgb2gray(I)

J=adapthisteq(I)

subplot(221),imshow(I)

title('原图')

subplot(222),imshow(J)

title('直方图均衡化后的结果')

subplot(223),imhist(I,64)

title('原图的直方图')

subplot(224),imhist(J,64)

title('直方图均衡化后的结果的直方图')

1.2让图片看清楚还可以让图片变亮一些(因为你这图看起来很暗)。

程序2:

I=imread('d:\blood.jpg')

J=imadjust(I,[],[0.5 1])

%通过修春悔樱改highout值使图片变亮

K=imadjust(I,[],[],0.3)

%通过修改r(描述I,J关系曲线形状)

subplot(231),imshow(I)

title('原图')

subplot(232),imshow(J)

title('修改highout')

subplot(233),imshow(K)

title('修改r值')

subplot(234),imhist(I,64)

title('原图的直方图')

subplot(235),imhist(J,64)

title('修改highout直方图')

subplot(236),imhist(K,64)

title('修改r值直方图')

2.1 边缘检测的有很多算子,你自己试试看哪个算子比较好。

程序3:

I=imread('d:\blood.jpg')

figure,imshow(I)%显示原图

f= rgb2gray(I)%转化为灰度图

BW1=edge(f,'Roberts')%使用roberts算子进行边缘提取

figureimshow(BW1)%显示边缘提取结果

BW2=edge(f,'sobel')%使用sobel算子进行边缘提取

figureimshow(BW2)%显示边缘提取结果

BW3=edge(f,'prewitt')%使用prewitt算子进行边缘提取

figureimshow(BW3)%显示边缘提取结扒丛果

BW4=edge(f,'log')%使用log算子进行边缘提取

figureimshow(BW4)%显示边缘提取结果

BW5=edge(f,'canny')%使用canny算子进行边缘提取

figureimshow(BW4)%显示边缘提取结果

1、首先启动软件,运行程序输出两条曲线进行对比,开始时不设置宽度,颜色、线宽等使信早用默认值,点击运行按钮。

2、其次执行后,可看到两条蓝色曲线,这是软件默认链坦慧色,同时宽度默认为1,接着添加linewidth指令,可以设置粗细,这里设置为3,点击运行按钮,则可开始执行。

3、然后可看到执行的结果,线条变粗,变为宽度棚答3,如果希望更粗可以更改数值到所需,再运行,如果plot中还有线条颜色及线型设置项,可以在后方继续添加linewidth命令,设置线宽。

4、最后执行指令后,可看到线型、颜色信息,同时也可看到宽度现象,可根据需要进行合理设置即可完成。

这个应该不难啊。。。读入拍消图像,然后设一启让个阀悄贺局值,大于的为1,小于的为0,做成二值图像就可以了,这样的话血管就更加清晰了,阀值需要测试下,测试到血管为白色,其他为黑色就行了~~

上面说的是二值阀,还有什么线形法,对数法之类的,只是一个函数而已,自己摸索下吧


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存