OpenCV學習筆記——多種Smooth平滑處理


opencv庫提供了好幾種模糊平滑Smooth操作的類型作為cvSmooth的參數傳入,從而達到不同的平滑效果,另外復習了一下如何復制一份圖像和重新調整圖像大小。

調整圖像大小目前是按照一下步驟進行:

1、先cvcreate一個新的圖像,cvcreate中的參數設為調整之后的大小(用Cvsize的構造函數封裝代入)

2、然后再用cvresize把原圖像輸入到剛才構造的已設定好尺寸的圖像中

代碼:

#include<cv.h>
#include<highgui.h>
//多種smooth的樣例
int main(void)
{
	IplImage *ori_src = cvLoadImage("cc.jpg");
	IplImage *src = cvCreateImage(CvSize(ori_src->width>>1,ori_src->height>>1), ori_src->depth, ori_src->nChannels);

	cvResize(ori_src, src, CV_INTER_LINEAR);

	IplImage *dst_blur = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
	IplImage *dst_blur_no_scale= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
	IplImage *dst_gaussian = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
	IplImage *dst_medeian= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
	IplImage *dst_bilateral = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
	
	cvNamedWindow("Orignal",CV_WINDOW_AUTOSIZE);
	cvNamedWindow("Cvsmooth_blur");
	cvNamedWindow("Cvsmooth_blur_no_scale");
	cvNamedWindow("Cvsmooth_gaussian");
	cvNamedWindow("Cvsmooth_medeian");
	cvNamedWindow("Cvsmooth_bilateral");

	cvSmooth(src, dst_blur, CV_BLUR, 3, 3, 0, 0);
	cvSmooth(src, dst_blur_no_scale, CV_BLUR_NO_SCALE, 3, 3, 0, 0);
	cvSmooth(src, dst_gaussian, CV_GAUSSIAN, 3, 3, 0, 0);
	cvSmooth(src, dst_medeian, CV_MEDIAN, 3, 3, 0, 0);
	cvSmooth(src, dst_bilateral, CV_BILATERAL, 3, 3, 0, 0);
		
	cvShowImage("Orignal", src);
	cvShowImage("Cvsmooth_blur", dst_blur);
	cvShowImage("Cvsmooth_bur_no_scale", dst_blur_no_scale);
	cvShowImage("Cvsmooth_gaussian", dst_gaussian);
	cvShowImage("Cvsmooth_medeian", dst_medeian);
	cvShowImage("Cvsmooth_bilateral", dst_bilateral);

	cvWaitKey(0);

	cvDestroyAllWindows();
	cvReleaseImage(&ori_src);
	cvReleaseImage(&src);
	cvReleaseImage(&dst_blur);
	cvReleaseImage(&dst_blur_no_scale);
	cvReleaseImage(&dst_gaussian);
	cvReleaseImage(&dst_medeian);
	cvReleaseImage(&dst_bilateral);
	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM