用opencv显示视频时,做了一个全屏,但是发现全屏后,画面四周有白色的边框,在网上看了下需要修改源码,但是参照修改后并没有解决,不知道是因为版本还是什么原因,经过探索后,终于完美解决,所以记录一下,一来方便自己,二来也方便大家 opencv版本: 4.1.0 操作系统: window10专业版 修改源文件 window_w32.cpp 路径:opencv\modules\highgui\src下
找到函数 static RECT icvCalcWindowRect( CvWindow* window ) 第一处修改: 将const int gutter = 0 修改为const int gutter = 1 第二处修改: 在最后面 return rect; 前面增加rect.bottom += 2; rect.right += 2; 修改后的函数整个方法体如下:
const int gutter = 0;
RECT crect, trect, rect;
assert(window);
GetClientRect(window->frame, &crect);
if(window->toolbar.toolbar)
{
GetWindowRect(window->toolbar.toolbar, &trect);
icvScreenToClient(window->frame, &trect);
SubtractRect( &rect, &crect, &trect);
}
else
rect = crect;
rect.top += gutter;
rect.left += gutter;
rect.bottom -= gutter;
rect.right -= gutter;
rect.bottom += 2;
rect.right += 2;
return rect;
完成后重新编译即可,网上的方法只有第一处修改,我照做后还有白色边框,不能完全消除,增加第二处修改后完美解决.
|