opencv實現影象鄰域均值濾波、中值濾波、高斯濾波
阿新 • • 發佈:2019-01-02
- void CCVMFCView::OnBlurSmooth()//鄰域均值濾波
- {
- IplImage* in;
- in = workImg;
- IplImage* out = cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,workImg->nChannels);
- cvSmooth(in,out,CV_BLUR,3,workImg->nChannels); // 簡單平均
- m_dibFlag=imageReplace(out,&workImg);
- Invalidate();
- }
void CCVMFCView::OnBlurSmooth()//鄰域均值濾波 { IplImage* in; in = workImg; IplImage* out = cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,workImg->nChannels); cvSmooth(in,out,CV_BLUR,3,workImg->nChannels); // 簡單平均 m_dibFlag=imageReplace(out,&workImg); Invalidate(); }
[cpp] view plaincopyprint?
- void CCVMFCView::OnMedianSmooth()
- {
- IplImage* in = workImg;
- IplImage* out = cvCreateImage(cvGetSize(in),
- IPL_DEPTH_8U,workImg->nChannels);
- cvSmooth(in,out,CV_MEDIAN,3,workImg->nChannels); // 中值濾波
- m_dibFlag=imageReplace(out,&workImg);
- Invalidate();
- }
void CCVMFCView::OnMedianSmooth() { IplImage* in = workImg; IplImage* out = cvCreateImage(cvGetSize(in), IPL_DEPTH_8U,workImg->nChannels); cvSmooth(in,out,CV_MEDIAN,3,workImg->nChannels); // 中值濾波 m_dibFlag=imageReplace(out,&workImg); Invalidate(); }
[cpp] view plaincopyprint?
- void CCVMFCView::OnGaussSmooth()
- {
- IplImage* in = workImg;
- IplImage* out = cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,workImg->nChannels); // 建立輔助點陣圖
- cvSmooth(in,out,CV_GAUSSIAN,3,workImg->nChannels); // Gauss 平滑
- m_dibFlag=imageReplace(out,&workImg); // 輸出處理結果
- Invalidate();
- }