日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

八.使用OpenCv图像平滑操作

發(fā)布時(shí)間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 八.使用OpenCv图像平滑操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


1.cvSmooth函數(shù)

函數(shù) cvSmooth 可使用簡(jiǎn)單模糊、簡(jiǎn)單無(wú)縮放變換的模糊、中值模糊、高斯模糊、雙邊濾波的不論什么一種方法平滑圖像。每一種方法都有自己的特點(diǎn)以及局限。 沒(méi)有縮放的圖像平滑僅支持單通道圖像,而且支持8位到16位的轉(zhuǎn)換(與cvSoble和cvaplace相似)和32位浮點(diǎn)數(shù)到32位浮點(diǎn)數(shù)的變換格式。

簡(jiǎn)單模糊高斯模糊支持 1- 或 3-通道, 8-比特 和 32-比特 浮點(diǎn)圖像。

這兩種方法能夠(in-place)方式處理圖像。?

中值和雙向?yàn)V波工作于 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(簡(jiǎn)單不帶尺度變換的模糊) - -對(duì)每一個(gè)象素的 param1×param2 領(lǐng)域求和。假設(shè)鄰域大小是變化的,能夠事先利用函數(shù) cvIntegral 計(jì)算積分圖像。
CV_BLUR (simple blur)——對(duì)每一個(gè)象素param1×param2鄰域求和并做尺度變換 1/(param1×param2)。
CV_GAUSSIAN(gaussian blur)——對(duì)圖像進(jìn)行核大小為 param1×param2 的高斯卷積。


CV_MEDIAN(median blur)——對(duì)圖像進(jìn)行核大小為param1×param1 的中值濾波 (鄰域是方的)。
CV_BILATERAL(雙向?yàn)V波)——應(yīng)用雙向 3x3 濾波,彩色 sigma=param1。空間 sigma=param2.。



2.實(shí)例


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; }
效果圖:

? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?

? ? ? ? ?

模糊后:? ? ?


? ? ? ? ? ? ? ? ? ? ? ? ? ?







版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。

總結(jié)

以上是生活随笔為你收集整理的八.使用OpenCv图像平滑操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。