#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 |