_min ;
min_p4_max <=min_4_max ;
min_p4_med <=min_4_med ;
min_p4_min <=min_4_min ;
end
else begin
max_p4_max <=0 ;
max_p4_min <=0 ;
min_p4_max <=0 ;
min_p4_med <=0 ;
min_p4_min <=0 ;
end
end
//----------------------------------------------------------------------第5阶段
compare_2 u2_compare_2(
.dat_1 ( max_p4_max),
.dat_2 ( min_p4_max),
.dat_max (),
.dat_min (max_5_min)
);
//
compare_2 u3_compare_2(
.dat_1 ( min_p4_min),
.dat_2 ( max_p4_min),
.dat_max (min_5_max),
.dat_min ()
);
always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
max_p5_min<=0;
min_p5_max<=0;
med_p5 <=0;
end
else if(per_href_ff5==1&&flag_do) begin
max_p5_min<= max_5_min;
min_p5_max<= min_5_max;
med_p5 <= min_p4_med;
end
end
//----------------------------------------------------------------------第6阶段。
//
compare u10_compare(
.data_a (max_p5_min),
.data_b (min_p5_max),
.data_c (med_p5 ),
.data_max(max_6_max),
.data_min(max_6_min),
.data_med(max_6_med)
);
处理后的结果
补充 :
快速排序法实现中值滤波
第一步:将每一行按最大值、中间值、最小值排列
第二步:提取出最大值的最小值,中间值的中间值,最小值的最大值
第三步:将第二步提取出来的三个数进行排序,中间值即我们要求的中间值。
代码很简单,就不写了。
转载请注明出处:http://www.cnblogs.com/aslmer/p/5786978.html
|