Como exibir uma imagem na janela sem bordas de tela cheia no openCV
Quero exibir uma imagem no OpenCV em uma janela sem borda em tela cheia. Em outras palavras, apenas os pixels da imagem serão exibidos, sem menu, barra de ferramentas ou fundo da janela.
Usingimshow()
oucvShowImage()
não ative:
Acho que o problema está enraizado emcvNamedWindow()
método que cria o @ principWS_OVERLAPPED
window e cria um filho e todas as funções comoimshow()
oucvGetWindowHandle()
opere na criança.
Assim mesmo o comando do Windows:
SetWindowLong((HWND)cvGetWindowHandle(winName), GWL_STYLE, WS_VISIBLE | WS_EX_TOPMOST | WS_POPUP);
Não ajuda, já que a criança não pode ficar sem fronteirasWS_POPUP
. Alguém conseguiu uma solução alternativa?
P.S. Eu tentei o seguinte código:
cvMoveWindow("AAA",0,0);
cvSetWindowProperty("AAA", CV_WINDOW_FULLSCREEN, CV_WINDOW_FULLSCREEN);
// Also I tried this:
HWND hwnd = (HWND)cvGetWindowHandle("AAA");
RECT windowRect;
windowRect.left = 0;
windowRect.top = 0;
windowRect.right = cxScreen; //Display resolution
windowRect.bottom = cyScreen; //Display resolution
AdjustWindowRect(&windowRect,WS_VISIBLE,false);
long p_OldWindowStyle = SetWindowLongPtr(hwnd,GWL_STYLE,WS_POPUP);
SetWindowPos(hwnd,HWND_TOP,0,0,windowRect.right,windowRect.bottom,SWP_FRAMECHANGED | SWP_SHOWWINDOW);
SetWindowLong(hwnd, GWL_STYLE, WS_VISIBLE | WS_EX_TOPMOST | WS_POPUP);