题目源:GitHub - gzr2017/ImageProcessing100Wen: 「画像処理100本ノック」中文版本!为图像处理初学者设计的 100 个问题。
题目描述:
参考答案:
和平均池化的格式没啥区别
#include <iostream>
#include <iso646.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
Mat max_pooling(Mat img){
int rows(img.rows),cols(img.cols),channels(img.channels());
Mat pooling_img(Mat::zeros(rows,cols,CV_8UC3));
for(int i=0;i<rows;i+=8){
for(int j=0;j<cols;j+=8){
for(int c=0;c<channels;c++){
int max(0);
for(int di=0;di<8;di++){
for(int dj=0;dj<8;dj++){
if(img.at<Vec3b>(i+di,j+dj)[c]>max){
max=img.at<Vec3b>(i+di,j+dj)[c];
}
}
}
for(int di=0;di<8;di++){
for(int dj=0;dj<8;dj++){
pooling_img.at<Vec3b>(i+di,j+dj)[c]=max;
}
}
}
}
}
return pooling_img;
}
int main()
{
Mat img=imread("C:/Users/79490/Desktop/ImageProcessing100Wen-master/ImageProcessing100Wen-master/Question_01_10/imori.jpg",IMREAD_COLOR);
Mat maximg=max_pooling(img);
imshow("img",maximg);
waitKey(0);
return 0;
}