imshow
を拡張して,使いやすくした関数群です.
void imshowNormalize(std::string wname, cv::InputArray src, const int norm_type = cv::NORM_MINMAX);
imshowをする前にノーマライズをして8Uにキャストします.
floatだと画素値が見えないときや,正規化したいときに使います.
デフォルトは,最大値と最小値を0-255にマップするようにNORM_MINMAX
を使います.
最大値だけでスケールするには(最小値をシフトしないには),NORM_INF
を使用してください.
void imshowScale(std::string name, cv::InputArray src, const double alpha = 1.0, const double beta = 0.0);
imshowをする前にスケーリング(ax+b)をして8Uにキャストします.
内部でconvertTo(dest, CV_8U)
を呼んでからimshowしています.
floatだと画素値が見えないときに困るときによく使います.
Normalizeと違って,デフォルトでは値を変更しないため,ただCV_32F
をCV_8U
で表示したいだけの場合はこちらを使います.
void imshowScale(std::string name, cv::InputArray src, const double alpha = 1.0, const double beta = 0.0);
imshowScaleと違って引数srcをabsしてからimshowします.
void imshowResize(std::string name, cv::InputArray src, const cv::Size dsize, const double fx = 0.0, const double fy = 0.0, const int interpolation = cv::INTER_NEAREST, bool isCast8U = true);
imshowをする前にリサイズします.
画素値を維持するために,デフォルトはNearestNeighborでリサイズします.
また,最後のオプションで強制的に8Uにキャストできます.デフォルトはオンです.
void imshowCountDown(std::string wname, cv::InputArray src, const int waitTime = 1000, cv::Scalar color = cv::Scalar::all(0), const int pointSize = 128, std::string fontName = "Consolas");
imshowをするとともに,カウントダウンをします.
デモンストレーションプログラム用に使用します.