사용자가 변경하려는 매개 변수를 변경하는 MENU 트랙 바를 만들고 싶습니다. 따라서 "1"로 설정하면 BLUR 트랙 바가 나타나고 사진을 흐리게 할 수 있습니다. "2"이면 ALPHA 및 BETA 트랙 바가 나타나고 밝기와 대비는 바꿀 수 있지만 BLUR 트랙 바는 여전히 보이며 흐리게 표시 할 수 있습니다. 물론 MENU 트랙바의 값이 1 일 때만 표시되기를 원합니다. 'if', 'switch'및 'while'으로도 시도했지만 작동하지 않습니다. 정확한 조건에서 다른 트랙 바를 지우는 것이 가능할 수도 있지만 기능을 찾지 못했습니다. 또는 정확한 아이디어를 정확하게 트랙바를 표시하는 방법? 아직 OpenCV의에서 만든 트랙 바을 파괴 할 수있는 방법이OpenCV에서 트랙 바를 삭제할 수 있습니까?
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
const int slider_max = 100, slider2_max = 100, slider3_max = 100, slider5_max = 2;
int slider = 0, slider2 = 0, slider3 = 0, slider5 = 0;
(...)
void transf(int, void*)
{
(...)
if (slider5 == 0)
{
setTrackbarPos(ALPHA, name3, 0);
setTrackbarPos(BETA, name3, 0);
setTrackbarPos(BLUR, name3, 0);
imshow(name, before);
}
if (slider5 == 1)
{
setTrackbarPos(ALPHA, name3, 0);
setTrackbarPos(BETA, name3, 0);
createTrackbar(BLUR, name3, &slider, slider_max, blur);
blur(0,0);
}
if (slider5 == 2)
{
setTrackbarPos(BLUR, name3, 0);
createTrackbar(ALPHA, name3, &slider2, slider2_max+100, contrBright);
createTrackbar(BETA, name3, &slider3, slider3_max, contrBright);
contrBright(0,0);
}
}
int main()
{
(...)
createTrackbar(MENU, name, &slider5, slider5_max, transf);
transf(0,0);
waitKey(0);
return 0;
}