もどくんちゃんねる ガジェット部

自転車、ガジェット、映像制作、CG、Blender など

OpenCV C++ 画像サイズを変更・リサイズする方法 (cv::resize())

 

C++でのOpenCVを利用した画像リサイズ方法の情報がほとんどなかったので、自分の備忘録を兼ねてまとめます。

使う関数

cv::resize(src_img,out_img,dsize,fx,fy);

cv::resize(入力画像,出力画像,新しいサイズ、x方向の倍率、y方向の倍率)

 

です。

ここで、第3引数のdsizeには、基本的にはcv::Size()としておきます。

 

もしほかに画像サイズを指定しているものがある場合は、

dsizeのところに、そのサイズにしたい画像.sizeとするらしいです。

まあとりあえずサンプルコード載せときます。

 

#include <opencv2/opencv.hpp>
#include<iostream>
#include<sstream>


int main() {
    cv::Mat img;
    cv::Mat img_resize;

    //画像の読み込み
    img = cv::imread("a.jpg");

    //cv::resize(入力画像、出力画像、Size(),拡大率、拡大率)
    cv::resize(img, img_resize,cv::Size(), 0.5, 0.5);


    cv::imshow("img", img_resize);
    cv::waitKey(0);

    return(0);

 

 

OpenCVは本で体系的に学ぶことをおすすめします。リンクの本であればC++Pythonに対応しているのでおすすめです。