滑動條的創建和使用--OpenCV06

滑動條需要一個回調函數 ,好處就是可以更改一些參數的值 直接看到狀態變化,以圖像疊加爲例

Mat Img1;
Mat Img2;
Mat OutImg;
int alpha=0;

void WeightTrackbar(int, void*); //響應滑動條的回調函數

int main()
{

	Img1 = imread("demo.jpg");

	if (!Img1.data)
	{
		cout << "未找到圖片" << endl;
		return -1;
	}

	Img2 = Mat(Img1.size(), Img1.type());
	Img2 = Scalar(0, 0, 0);//BGR
	
	namedWindow("Output Img");
	createTrackbar("Weight of Img1", "Output Img", &alpha, 100, WeightTrackbar);
        //滑動條的name  放在的窗口name 變動的值* 最大值 回調函數
        
	WeightTrackbar(alpha, 0);

	waitKey(0);
	return 0;
}

void WeightTrackbar(int, void*) 
{
        //根據更改的alpha的值重新疊加圖片
	addWeighted(Img1, alpha * 0.01, Img2, 1 - alpha * 0.01, 0, OutImg);
	imshow("Output Img", OutImg);
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章