天天看點

Opencv尺寸調整-resize函數

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

using namespace std;
using namespace cv;

int g_nCurrRowsSize = 0, g_nCurrColsSize = 0;

int main()
{
	Mat srcImage = imread("牛吃草.jpg");
	imshow("【原圖】", srcImage);

	/*Mat dstImage;
	resize(srcImage, dstImage, Size(50, 50), 0, 0, 3);

	imshow("【處理後的圖檔】", dstImage);
	waitKey(0);*/
	
	Mat midImage, dstImage;
	srcImage.copyTo(midImage);

	g_nCurrRowsSize = srcImage.rows;
	g_nCurrColsSize = srcImage.cols;
	namedWindow("【滾動條】");
	createTrackbar("rows", "【滾動條】", &g_nCurrRowsSize, srcImage.rows * 2, 0);
	createTrackbar("cols", "【滾動條】", &g_nCurrColsSize, srcImage.cols * 2, 0);

	char key;
	while (1)
	{
		resize(srcImage, dstImage, Size(g_nCurrColsSize, g_nCurrRowsSize), 0, 0, 3);
		imshow("【變換尺寸】", dstImage);

		key = waitKey(10);

		switch (key)
		{
		case	27:
			return 0;
			break;
			//如果檢測到鍵盤值為 'a' 則恢複原圖
		case	'a':
			midImage.copyTo(dstImage);
			g_nCurrColsSize = srcImage.cols;
			g_nCurrRowsSize = srcImage.rows;
			break;
		default:
			break;
		}
	}

	return 0;
}
           
Opencv尺寸調整-resize函數
Opencv尺寸調整-resize函數