首页 > 代码库 > 高效中值滤波(采用copyMakeBorder处理边界像素)

高效中值滤波(采用copyMakeBorder处理边界像素)

修改了之前滤波中的中值滤波算法,采用copyMakeBorder处理边界像素


void MedianBlur(const Mat &image_Src, Mat &image_Dst, int width_Aperture)
{
	/////////////////////////////重新分配图像(如果需要)/////////////////////////////////////////////
	int width_Dst=image_Src.cols;
	int height_Dst=image_Src.rows;
	image_Dst.create(Size(width_Dst,height_Dst),CV_8UC1);//如果重新分配,之前的空间会扔掉
	image_Dst.setTo(Scalar(0));//置为0

	//滑动窗口
	int pixelCount=width_Aperture*width_Aperture;//窗口内像素总个数
	Mat image_Aperture(width_Aperture,width_Aperture,CV_8UC1);//滑动窗口图像

	//直方图
	Mat histogram;
	int histogramSize=256;//灰度等级
	int thresholdValue=http://www.mamicode.com/pixelCount/2+1;//step1.设置阈值(步骤参考:图像的高效编程要点之四)>原图:

技术分享

技术分享


高效中值滤波(采用copyMakeBorder处理边界像素)