Visual Studio 2019とOpenCVを組み合わせて画像表示サイズを調整する:resize関数使用例
3467 ワード
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に設定します.
コードインスタンス
上記のコードで出力される画像は元のサイズで、通常のパソコン画面では画像全体が見えず、下図のように人物の頭部しか見えません.画像の表示が大きすぎるという問題に対して、出力表示画像の大きさをResize関数で調整します.すなわち、上記コードのResize関数のいずれかをアクティブにすると、下図のように1/4縮小した表示画像が得られます.このとき、画像の表示サイズが多く、直感的に画像を観察するのに便利です.
最后に书きます:以上は私个人のResize関数に対する初歩的な学习の心得で、みんなを助ける同时に、大神の指导を得ることができることを望んで、みんなは共に进歩します!
resize関数使用例
皆さん、こんにちは、Visual Studio 2019とOpenCVを組み合わせて画像を処理する過程で、開いた画像が元の状態で表示されることに気づき、画像が画面外に広がり、すべてを見ることができませんでした.「resize関数」で表示される画像の大きさを自分の望むように調整できますので、以下でお話しします.
Resize関数の基本構成
Resize(原図、出力図、Size(原図.cols/a、原図.row/b)、double fx、double fy、INTER_LINEAR)
例:表示画像を元の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関数に対する初歩的な学习の心得で、みんなを助ける同时に、大神の指导を得ることができることを望んで、みんなは共に进歩します!