Visual Studio 2019とOpenCVを組み合わせて画像表示サイズを調整する:resize関数使用例


Visual Studio 2019とOpenCVを組み合わせて画像表示サイズを調整する:
resize関数使用例
皆さん、こんにちは、Visual Studio 2019とOpenCVを組み合わせて画像を処理する過程で、開いた画像が元の状態で表示されることに気づき、画像が画面外に広がり、すべてを見ることができませんでした.「resize関数」で表示される画像の大きさを自分の望むように調整できますので、以下でお話しします.
Resize関数の基本構成
Resize(原図、出力図、Size(原図.cols/a、原図.row/b)、double fx、double fy、INTER_LINEAR)
  • 原図:ピクチャの記憶変数を読み込む;
  • 出力図:画像の記憶変数を出力する;
  • Size():寸法調整関数、a、bはそれぞれ原図幅と長縮小の倍数である.
  • fx、fy:一般的に点数、すなわち幅と高さを原図の数分の数に縮小する.
  • INTER_LINEAR:二重線形補間法で画像をスケールする(よく使われる);
  • Sizeとfx、fyを同時に0にすることはできません.

  • 例:表示画像を元の1/4に縮小する
    プログラミングコアコード:
    コード1:Resize(原図,出力図,Size(原図.cols/4,原図.row/4),0,0,INTER_LINEAR)
    または
    コード2:Resize(原図,出力図,Size(0,0),0.25,0.25,INTER_LINEAR)
    分析:
    コード1は、Sizeのパラメータで画像の横長、木の高さを調整し、それぞれ元の上で4で割ると、元の1/4に縮小します.
    コード2は、**「fx」と「fy」**の数値を直接調整することで、表示画像のサイズを0.25に設定し、元の1/4に設定します.
    コードインスタンス
    // An highlighted block
    #include <cstdio>
    
    #include "opencv.hpp" //opencv     
    
    using namespace std;
    
    using namespace cv; //opencv      
    
    
    int main()
    {
    	printf("Hello Open CV!");
    
    	Mat srcImage = imread("dst.jpg");
    	Mat temImage, dstImage1, dstImage2;
    	temImage = srcImage;
    
    	imshow("  ", temImage);
    
    	//resize(temImage, dstImage1, Size(temImage.cols/4,temImage.rows/4),0,0,INTER_LINEAR);      //    1/4
    	//resize(temImage, dstImage1, Size(0,0),0.25,0.25,INTER_LINEAR);    //    1/4
    	
    	//imshow("  ", dstImage1);
    
    	waitKey();
    	
    	return 0;
    }
    

    上記のコードで出力される画像は元のサイズで、通常のパソコン画面では画像全体が見えず、下図のように人物の頭部しか見えません.画像の表示が大きすぎるという問題に対して、出力表示画像の大きさをResize関数で調整します.すなわち、上記コードのResize関数のいずれかをアクティブにすると、下図のように1/4縮小した表示画像が得られます.このとき、画像の表示サイズが多く、直感的に画像を観察するのに便利です.
    最后に书きます:以上は私个人のResize関数に対する初歩的な学习の心得で、みんなを助ける同时に、大神の指导を得ることができることを望んで、みんなは共に进歩します!