opencv实验空域滤波.docx

上传人:b****8 文档编号:10047417 上传时间:2023-02-08 格式:DOCX 页数:20 大小:1.08MB
下载 相关 举报
opencv实验空域滤波.docx_第1页
第1页 / 共20页
opencv实验空域滤波.docx_第2页
第2页 / 共20页
opencv实验空域滤波.docx_第3页
第3页 / 共20页
opencv实验空域滤波.docx_第4页
第4页 / 共20页
opencv实验空域滤波.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

opencv实验空域滤波.docx

《opencv实验空域滤波.docx》由会员分享,可在线阅读,更多相关《opencv实验空域滤波.docx(20页珍藏版)》请在冰豆网上搜索。

opencv实验空域滤波.docx

opencv实验空域滤波

实验名称

实验3:

空域滤波

实验目的

1.掌握利用模板对图像进行空域滤波操作,熟练掌握常用空域模板的使用。

2.掌握图像平滑的空域方法,熟练掌握均值模板和高斯模板平滑图像

3.掌握图像锐化的空域方法,熟练掌握Laplacian、Robert、Sobel模板锐化图像

4.掌握利用高提升滤波算法对图像进行增强

实验内容

1、利用均值模板平滑灰度图像。

具体内容:

利用OpenCV对图像像素进行操作,分别利用3*3、5*5和9*9尺寸的均值模板平滑灰度图像

2、利用高斯模板平滑灰度图像。

具体内容:

利用OpenCV对图像像素进行操作,分别利用3*3、5*5和9*9尺寸的高斯模板平滑灰度图像

3、利用Laplacian、Robert、Sobel模板锐化灰度图像。

具体内容:

利用OpenCV对图像像素进行操作,分别利用Laplacian、Robert、Sobel模板锐化灰度图像

4、利用高提升滤波算法增强灰度图像。

具体内容:

利用OpenCV对图像像素进行操作,设计高提升滤波算法增强图像

5、利用均值模板平滑彩色图像。

具体内容:

利用OpenCV分别对图像像素的RGB三个通道进行操作,利用3*3、5*5和9*9尺寸的均值模板平滑彩色图像

6、利用高斯模板平滑彩色图像。

具体内容:

利用OpenCV分别对图像像素的RGB三个通道进行操作,分别利用3*3、5*5和9*9尺寸的高斯模板平滑彩色图像

7、利用Laplacian、Robert、Sobel模板锐化彩色图像。

具体内容:

利用OpenCV分别对图像像素的RGB三个通道进行操作,分别利用Laplacian、Robert、Sobel模板锐化彩色图像

实验完成情况

1、完成实验,利用均值模板实现平滑灰度图像处理。

实验代码如下:

IplImage*Average_smooth_cx(IplImage*src,intnub)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvSmooth(src,dst,CV_BLUR,nub);

returndst;

}

其中nub选择空间滤波模板的大小

利用3*3尺寸的均值模板平滑灰度图像

实验结果如图:

利用5*5尺寸的均值模板平滑灰度图像

实验结果如图:

利用9*9尺寸的均值模板平滑灰度图像

实验结果如图:

2、完成实验,利用高斯模板实现平滑灰度图像处理。

实验代码如下:

IplImage*Gaussian_smooth_cx(IplImage*src,intnub)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvSmooth(src,dst,CV_GAUSSIAN,nub);

returndst;

}

其中nub选择空间滤波模板的大小

利用3*3尺寸的高斯模板平滑灰度图像

实验结果如图:

利用5*5尺寸的高斯模板平滑灰度图像

实验结果如图:

利用9*9尺寸的高斯模板平滑灰度图像

实验结果如图:

3、完成实验,利用Laplacian、Robert、Sobel模板实现锐化灰度图像。

利用Laplacian模板锐化灰度图像

核心代码如下:

IplImage*Laplacian_cx(IplImage*src)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvLaplace(src,dst);

returndst;

}

实验结果如图:

利用Robert模板实现锐化灰度图像

核心代码如下:

IplImage*Robert_cx(IplImage*src)

{

floata[]={

-1,0,

0,1

};

CvMatkernel=cvMat(2,2,CV_32F,a);

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvFilter2D(src,dst,&kernel);

returndst;

}

实验结果如图:

利用Sobel模板实现锐化灰度图像

核心代码如下:

IplImage*Sobel_cx(IplImage*src)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvSobel(src,dst,1,0);

returndst;

}

实验结果如图:

4、完成实验,利用高提升滤波算法实现增强灰度图像。

核心代码如下:

IplImage*Highboost(IplImage*src)

{

/*平滑处理*/

IplImage*in=src;

IplImage*out=cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,in->nChannels);

cvSmooth(in,out,CV_GAUSSIAN,3);

/*与原图相差并叠加*/

floatc=2;

for(inti=0;iheight;i++){

for(intj=0;jwidth;j++){

CvScalar_f_x_y=cvGet2D(out,i,j);

CvScalarf_x_y=cvGet2D(in,i,j);

intd=f_x_y.val[0]+c*(f_x_y.val[0]-_f_x_y.val[0]);

if(d>255){

d=255;

}elseif(d<0){

d=0;

}

CvScalarg_x_y;

g_x_y.val[0]=d;

cvSet2D(out,i,j,g_x_y);

}

}

returnout;

}

实验结果如图:

5、完成实验,利用均值模板实现平滑彩色图像处理。

实验代码如下:

IplImage*Average_smooth_cx(IplImage*src,intnub)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvSmooth(src,dst,CV_BLUR,nub);

returndst;

}

其中nub选择空间滤波模板的大小

利用3*3尺寸的均值模板平滑彩色图像

实验结果如图:

利用5*5尺寸的均值模板平滑彩色图像

实验结果如图:

利用9*9尺寸的均值模板平滑彩色图像

实验结果如图:

6、完成实验,利用高斯模板实现平滑彩色图像处理。

实验代码如下:

IplImage*Gaussian_smooth_cx(IplImage*src,intnub)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvSmooth(src,dst,CV_GAUSSIAN,nub);

returndst;

}

其中nub选择空间滤波模板的大小

利用3*3尺寸的均值模板平滑彩色图像

实验结果如图:

利用5*5尺寸的均值模板平滑彩色图像

实验结果如图:

利用9*9尺寸的均值模板平滑彩色图像

实验结果如图:

7、完成实验,利用Laplacian、Robert、Sobel模板实现锐化彩色图像。

利用Laplacian模板实现锐化彩色图像

核心代码如下:

IplImage*Laplacian_cx(IplImage*src)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvLaplace(src,dst);

returndst;

}

实验结果如图:

利用Robert模板实现锐化彩色图像

核心代码如下:

IplImage*Robert_cx(IplImage*src)

{

floata[]={

-1,0,

0,1

};

CvMatkernel=cvMat(2,2,CV_32F,a);

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvFilter2D(src,dst,&kernel);

returndst;

}

实验结果如图:

利用Sobel模板实现锐化彩色图像

核心代码如下:

IplImage*Sobel_cx(IplImage*src)

{

IplImage*dst=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,src->nChannels);

cvSobel(src,dst,1,0);

returndst;

}

实验结果如图:

实验中的问题

问题:

Robert模板的实现,找不到现有的实现函数。

解决:

查阅相关资料

实验结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1