八.使用OpenCv对图像进行平滑操作
来源:互联网 发布:ubuntu 挂载不了硬盘 编辑:程序博客网 时间:2024/05/20 02:29
1.cvSmooth函数
函数 cvSmooth 可使用简单模糊、简单无缩放变换的模糊、中值模糊、高斯模糊、双边滤波的任何一种方法平滑图像。每一种方法都有自己的特点以及局限。 没有缩放的图像平滑仅支持单通道图像,并且支持8位到16位的转换(与cvSoble和cvaplace相似)和32位浮点数到32位浮点数的变换格式。
简单模糊和高斯模糊支持 1- 或 3-通道, 8-比特 和 32-比特 浮点图像。这两种方法可以(in-place)方式处理图像。
中值和双向滤波工作于 1- 或 3-通道, 8-位图像,但是不能以 in-place 方式处理图像。
定义原型
void cvSmooth( const CvArr* src, CvArr* dst,int smoothtype=CV_GAUSSIAN,
int param1, int param2, double param3, double param4 );
src:输入图像.
dst:输出图像.
smoothtype平滑方法:
CV_BLUR_NO_SCALE(简单不带尺度变换的模糊) - -对每个象素的 param1×param2 领域求和。如果邻域大小是变化的,可以事先利用函数 cvIntegral 计算积分图像。
CV_BLUR (simple blur)——对每个象素param1×param2邻域求和并做尺度变换 1/(param1×param2)。
CV_GAUSSIAN(gaussian blur)——对图像进行核大小为 param1×param2 的高斯卷积。
CV_MEDIAN(median blur)——对图像进行核大小为param1×param1 的中值滤波 (邻域是方的)。
CV_BILATERAL(双向滤波)——应用双向 3x3 滤波,彩色 sigma=param1,空间 sigma=param2.。
2.实例
IplImage* CaptureImg(){IplImage* pImg = NULL;CvCapture* pCam = NULL;pCam = cvCreateCameraCapture(0);if(NULL == pCam){fprintf(stderr, "Can't init Camera!\n");return NULL;}cvSetCaptureProperty(pCam, CV_CAP_PROP_FRAME_WIDTH, 640);cvSetCaptureProperty(pCam, CV_CAP_PROP_FRAME_HEIGHT,480);pImg = cvQueryFrame(pCam);if(NULL == pImg){fprintf(stderr, "Can't get one frame\n");return NULL;}cvSaveImage("Capture.jpg", pImg, 0);return pImg;}//图像处理IplImage* HandleImg(IplImage* pImg){IplImage* pDst = NULL;if(NULL == pImg){printf("The pImg you need handle is NULL!\n");return NULL;}pDst = cvCreateImage(cvGetSize(pImg), IPL_DEPTH_8U, 3);//平滑处理cvSmooth(pImg, pDst, CV_GAUSSIAN, 5, 5, 0, 0);cvSaveImage("Smooth.jpg", pDst, 0);return pDst;}
效果图:
模糊后:
- 八.使用OpenCv对图像进行平滑操作
- 【学习OpenCV】——2.4对图像进行平滑处理
- opencv对图像像素进行操作
- OpenCV对图像进行mask操作
- OpenCV 对图像进行掩码操作
- OpenCV 图像处理——平滑操作
- 用matlab对图像进行平滑处理
- opencv图像边缘检测使用,先做平滑处理在进行边缘检测
- OpenCV(二)如何对图像的像素进行操作
- 快速对图像的像素进行操作 opencv 实战
- OpenCv 如何对图像的像素进行操作
- (转载)快速对图像的像素进行操作 opencv 实战
- 快速对图像的像素进行操作 opencv 实战
- 题目:利用opencv对一副图像进行腐蚀操作
- opencv对二值图像进行颜色反色操作
- opencv对图像进行背景模糊化操作(圆形)
- 使用OpenCV读、操作、写图像并与bash合作对某个目录下所有图像进行类似处理
- 使用OpenCV中的几种线性滤波器对图像平滑处理
- servlet/filter/listener/interceptor区别与联系
- php简单国际化
- 程序员,10年后你在干什么?
- 字符串压缩程序
- 一段精妙的参数检查代码
- 八.使用OpenCv对图像进行平滑操作
- eclipse 强行关闭后一直闪退
- tup
- oracle 11g速度慢、plsql登录查询慢、服务器本地sqlplus正常
- ERROR The requested URL could not be retrieved The following error was encountered
- python numpy+matplotlib安装
- C++_运算符重载
- CocoaPods安装和使用教程
- gson的简单介绍