中值滤波 Qt代码 内含OpenCV类
来源:互联网 发布:淘宝登录不上怎么找回 编辑:程序博客网 时间:2024/05/21 11:15
#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;int main(){ double duration; Mat src = imread("salt.bmp",0); Mat src_border(src.rows+2, src.cols+2, CV_8UC1, Scalar(0)); Mat dst = imread("salt.bmp",0); uchar array[9] = {0};duration = static_cast<double>(getTickCount()); for ( int i = 0; i < src.rows; i ++ )//边界扩充 { uchar* src_ptr = src.ptr<uchar>(i); uchar* src_border_ptr = src_border.ptr<uchar>(i+1); for ( int j = 0; j < src.cols; j ++ ) { src_border_ptr[j+1] = src_ptr[j]; } } for ( int i = 1; i < src_border.rows-1; i ++ ) { uchar* src_border_previous = src_border.ptr<uchar>(i-1); uchar* src_border_current = src_border.ptr<uchar>(i); uchar* src_border_next = src_border.ptr<uchar>(i+1); uchar* dst_ptr = dst.ptr<uchar>(i-1); for ( int j = 1; j < src_border.cols-1; j ++ ) { if ( src_border_current[j] == 255 ) { count ++; array[0] = src_border_previous[j-1]; array[1] = src_border_previous[j]; array[2] = src_border_previous[j+1]; array[3] = src_border_current[j-1]; array[4] = src_border_current[j]; array[5] = src_border_current[j+1]; array[6] = src_border_next[j-1]; array[7] = src_border_next[j]; array[8] = src_border_next[j+1]; uchar temp = 0; for ( int n = 0; n < 8; n ++)//冒泡排序 for ( int m = 0; m < 8-n; m ++ ) { if ( array[m] > array[m+1] ) { temp = array[m]; array[m] = array[m+1]; array[m+1] = temp; } } dst_ptr[j-1] = array[4]; } } }duration = static_cast<double>(getTickCount()) - duration;duration /= getTickFrequency();cout << duration << endl; namedWindow("src", 0); imshow("src", src); namedWindow("dst", 0); imshow("dst", dst); waitKey(0); return 0;}
其中输入图像为加入椒盐噪声的 bmp 图片
0 0
- 中值滤波 Qt代码 内含OpenCV类
- openCV之中值滤波&均值滤波(及代码实现)
- opencv中值滤波-双边滤波
- OpenCV中值滤波
- OPENCV中值滤波
- 中值滤波 opencv
- OpenCV—中值滤波
- 6.4OpenCV中值滤波
- Matlab中值滤波代码
- 基于opencv的中值滤波
- opencv中值滤波的源代码
- openCV 中值滤波算法解析
- C/C++ OpenCV中值滤波&双边滤波
- Opencv学习:非线性滤波:中值滤波、双边滤波
- OpenCV之九 非线性滤波专场:中值滤波、双边滤波
- 图像平滑技术之盒滤波、均值滤波、中值滤波、高斯滤波、双边滤波的原理概要及OpenCV代码实现
- opencv----滤波函数:方框滤波、均值滤波、高斯滤波、中值滤波、双边滤波
- opencv帧差法、中值滤波与二值化
- Java接口(interface)
- Java单例类进阶
- 脏话过滤器
- sqlDataReader与 DataSet
- [2015-09-19 15:07:13 - LinearLayoutActivity] Unable to resolve target 'android-14'
- 中值滤波 Qt代码 内含OpenCV类
- POJ 1190 生日蛋糕
- weka学习—解决导入weka中文乱码
- LeetCode -- Binary Tree Inorder Traversal
- 调用deleteRowsAtIndexPaths没有刷新表格怎么办?
- 数字摘要
- 设计模式之-----------面向对象的设计原则
- SQLServer 2012 列存储索引
- test5.5