资源描述:
《图像信息处理之图像旋转和阈值分割.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、图像信息处理上机实验报告图像旋转、阈值分割1、实验内容:(1)写出以图像中心点作为支点旋转任意角度,图像仍保持完整的旋转程序;(2)对Fig33图,采用灰度直方图峰谷方法分离出米粒,要求编写程序自动求直方图峰谷对应的分割阈值;(3)练习PS中把jimoxiong变换到jimoxiong2,或者反向恢复,并证明你的操作是成功的,写出基本步骤。2、具体实验一、图像旋转:实验原理:(1):计算公式:i'=icosθ-jsinθj'=icosθ+jcosθ(i,j)为原图像素点坐标,(i',j')是对应像素点经旋转变换后图像像素点坐标;(2):对计算所得坐标值取整
2、;(3)对取整后坐标值范围进行画布扩大;(4)对图像出现的空穴进行实验程序:functionr=imrotate(I,theta)I=imread('L:图像信息处理17周上机Fig33.BMP');[row,col]=size(I);theta=(30*pi/180);%旋转30度cosa=cos(theta);sina=sin(theta);%原图四个顶点坐标srcx1=-col*0.5;srcy1=row*0.5;srcx2=col*0.5;srcy2=row*0.5;srcx3=-col*0.5;srcy3=-row*0.5;srcx4=co
3、l*0.5;srcy4=-row*0.5;%图像旋转后四个顶点坐标dstx1=cosa*srcx1-sina*srcy1;dsty1=sina*srcx1+cosa*srcy1;dstx2=cosa*srcx2-sina*srcy2;dsty2=sina*srcx2+cosa*srcy2;dstx3=cosa*srcx3-sina*srcy3;dsty3=sina*srcx3+cosa*srcy3;dstx4=cosa*srcx4-sina*srcy4;dsty4=sina*srcx4+cosa*srcy4;%计算旋转后图像宽度和高度%旋转后图像高为对应顶
4、点纵坐标之差较大值h=max(abs(dsty4-dsty1),abs(dsty2-dsty3))+0.5;%旋转后图像宽为对应顶点纵坐标之差较大值w=max(abs(dstx4-dstx1),abs(dstx2-dstx3))+0.5;%对新图高宽进行四舍五入h=floor(h);w=floor(w);r=zeros(h,w);f1=-w*0.5*cosa-h*0.5*sina+0.5*col;f2=w*0.5*sina-h*0.5*cosa+0.5*row;forx=1:wfory=1:hx0=floor(x*cosa+y*sina+f1);y0=fl
5、oor(-x*sina+y+cosa+f2);%对图像进行填充ifx0>0&&x0
0&&y0<=rowr(y,x)=I(y0,x0);endendendsubplot(121),imshow(I);subplot(122);imshow(r,[]);实验结果:二:阈值分割实验原理:所谓阈值方法就是确定某个阈值TH,根据图像中每个像素的灰度值大于或小于该阈值TH,来进行图像分割。当图像的灰度直方图为双峰分布时,表明图像的内容大致分为两个部分,分别为灰度分布的两个山峰的附近。灰度直方图的峰谷阈值方法是一种有效且非常简单的阈值方法,但是该方法有
6、一个局限性,就是要求图像的灰度直方图必须具有双峰性。实验程序:Im=imread('L:图像信息处理17周上机Fig33.BMP');subplot(1,3,1),imhist(Im),title('灰度直方图')subplot(1,3,2),imshow(Im),title('原像')[x,y]=size(Im);b=double(Im);zd=double(max(max(Im)))%求出图象中最大的灰度zx=double(min(min(Im)))%最小的灰度T=double((zd+zx))/2;count=double(0);while1%
7、迭代最佳阈值分割算法count=count+1;S0=0.0;n0=0.0;S1=0.0;n1=0.0;fori=1:xforj=1:yifdouble(Im(i,j))>=TS1=S1+double(Im(i,j));%大于阈域值图像点灰度值累加n1=n1+1;%大于阈域值图像点个数累加elseS0=S0+double(Im(i,j));%小于阈域值图像点灰度值累加n0=n0+1;%小于阀域值图像点个数累加endendendT0=S0/n0;T1=S1/n1;ifabs(T-((T0+T1)/2))<0.1%迭代至前后两次阀域值相差几乎为0时停止迭代。b
8、reak;elseT=(T0+T1)/2;%在阈值T下,迭代阈值的