본문 바로가기

OpenCV

ch04 trackbar

#python code

import cv2
import numpy as np

def on_level_change(pos, img):
    img[:] = pos * 16
    cv2.imshow("image", img)

def main():
    img = np.zeros((400, 400), dtype=np.uint8)

    cv2.namedWindow("image")
    cv2.createTrackbar("level", "image", 0, 16, lambda pos: on_level_change(pos, img))

    cv2.imshow("image", img)
    cv2.waitKey()

if __name__ == "__main__":
    main()

// C++ code

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

using namespace cv;
using namespace std;

void on_level_change(int pos, void* userdata);

int main(void)
{
	Mat img = Mat::zeros(400, 400, CV_8UC1);

	namedWindow("image");
	createTrackbar("level", "image", 0, 16, on_level_change, (void*)&img);
	
	imshow("image", img);
	waitKey();

	return 0;
}

void on_level_change(int pos, void* userdata)
{
	Mat img = *(Mat*)userdata;

	img.setTo(pos * 16);
	imshow("image", img);
}

C++ Code 출처 : OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 - 황선규 저


'OpenCV' 카테고리의 다른 글

ch04 utils  (0) 2024.05.19
ch04 trackbar  (0) 2024.05.19
ch04 storage  (0) 2024.05.19
ch04 mouse  (0) 2024.05.19
ch04 keyboard  (0) 2024.05.19