OpenCVを使ってLenaさんを半分のサイズにする。

Lenaさんを半分のサイズにするには縦、横を交互に間引く
縦の1行目と3行目と・・・・
横の1列目と3列目と・・・・
つめる!!!

//画面をだすよ
void display(cv::Mat image) {
    //まえの記事をみてね
}

//
// ここから
//
int main(int argc, char** argv) {
    //lenaさん登場!!
    cv::Mat lena = cv::imread("lena.jpg");
    //lenaさん白黒レトロ
    cv::cvtColor(lena, lena, CV_RGB2GRAY);
    //lenaさんの半分のサイズの画像
    cv::Mat image  = cv::Mat::zeros(lena.cols / 2, lena.rows / 2, CV_8UC1);

    int cols = lena.cols;
    int rows = lena.rows;
    for (int j = 0; j < rows ; j+=2) {
        for (int i = 0; i < cols; i+=2) {
            image.at<uchar>(j/2, i/2) = cv::saturate_cast<uchar>(lena.at<uchar>(j, i));
        }
    }
    //画面に出して!!
    display(image);
}

f:id:treehitsuji:20150118142431p:plain

半分Lenaさん

f:id:treehitsuji:20150208175141p:plain