单通道池化
yummy
阅读:447
2022-03-30 22:13:38
评论:0
#include<stdio.h> #define IN_SIZE 4 #define OUT_SIZE 2 /******************单次池化,最大池化 ********************************************/ int pool_max(float in_img[IN_SIZE][IN_SIZE],float out_img[OUT_SIZE][OUT_SIZE]) { int i,j; float temp1,temp2,temp3; for(i=0;i<IN_SIZE;i+=2) { for(j=0;j<IN_SIZE;j+=2) { temp1=in_img[i][j] > in_img[i][j+1] ? in_img[i][j] : in_img[i][j+1];//2 4 10 12 temp2=in_img[i][j] > in_img[i+1][j] ? in_img[i][j] : in_img[i+1][j];//5 7 13 15 temp3=temp1>temp2?temp1:temp2;//5 7 13 15 out_img[i/2][j/2]=temp3;//5 7 13 15 } } } /************************单次池化,平均池化 ******************************************/ int pool_min(float in_img[IN_SIZE][IN_SIZE],float out_img[OUT_SIZE][OUT_SIZE]) { int i,j; float temp1,temp2,temp3; for(i=0;i<IN_SIZE;i+=2) { for(j=0;j<IN_SIZE;j+=2) { temp1=in_img[i][j] + in_img[i][j+1] ; temp2=in_img[i+1][j] + in_img[i+1][j+1]; temp3=(temp1+temp2)/4; out_img[i/2][j/2]=temp3; } } } /****************测试*************************************************/ int pool_test() { int i,j; float in_img[IN_SIZE][IN_SIZE]={1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16}; float out_img[OUT_SIZE][OUT_SIZE]={0}; /***************最大池化******************************/ pool_max(in_img,out_img) ; printf("最大池化\n"); printf("输入图片\n"); for(i=0;i<IN_SIZE;i++) { for(j=0;j<IN_SIZE;j++) { printf("%.1f\t",in_img[i][j]); } printf("\n"); } printf("输出图片\n"); for(i=0;i<OUT_SIZE;i++) { for(j=0;j<OUT_SIZE;j++) { printf("%.1f\t",out_img[i][j]); } printf("\n"); } /***************平均池化****************************/ pool_min(in_img,out_img) ; printf("平均池化\n"); printf("输入图片\n"); for(i=0;i<IN_SIZE;i++) { for(j=0;j<IN_SIZE;j++) { printf("%.1f\t",in_img[i][j]); } printf("\n"); } printf("输出图片\n"); for(i=0;i<OUT_SIZE;i++) { for(j=0;j<OUT_SIZE;j++) { printf("%.1f\t",out_img[i][j]); } printf("\n"); } return 0 ; } int main() { pool_test(); return 0; }
本文 zblog模板 原创,转载保留链接!网址:http://xn--zqqs03dbu6a.cn/?id=11
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。