加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
system_config.m 1.77 KB
一键复制 编辑 原始数据 按行查看 历史
AnChangNice 提交于 2019-01-13 21:13 . Add files via upload
%% 显示器尺寸,自动获取
tempArray = getMonitorSize();
Monitor = struct; % 定义一个结构体
Monitor.width = tempArray(3);
Monitor.hight = tempArray(4);
%% 球桌
Table = struct;
% 截取整个屏幕的左上角、四分之一
screenTemp = screenShoot([0, 0, Monitor.width/2, Monitor.hight/2 + 20]);
% 获取外部尺寸
Table.sizeOuter = getTablePosition(screenTemp);
% 调试
% figure, imshow(screenTemp);
% rectangle('Position',[Table.sizeOuter.x, Table.sizeOuter.y, Table.sizeOuter.width, Table.sizeOuter.hight],...
% 'EdgeColor','r',...
% 'LineWidth',2);
% 计算内部尺寸
tempWidth = Table.sizeOuter.width / 60; % 根据比例计算边的宽度
Table.sizeInside.x = Table.sizeOuter.x + tempWidth;
Table.sizeInside.y = Table.sizeOuter.y + tempWidth;
Table.sizeInside.width = Table.sizeOuter.width - tempWidth * 2;
Table.sizeInside.hight = Table.sizeOuter.hight - tempWidth * 2;
% 调试
% figure, imshow(screenTemp);
% rectangle('Position',[Table.sizeInside.x, Table.sizeInside.y, Table.sizeInside.width, Table.sizeInside.hight],...
% 'EdgeColor','g',...
% 'LineWidth',2);
% 计算球心运动的范围
tempRadius = Table.sizeOuter.width / 32 / 2; % 根据比例计算边的半径
Table.sizeMassArea.x = Table.sizeInside.x + tempRadius;
Table.sizeMassArea.y = Table.sizeInside.y + tempRadius;
Table.sizeMassArea.width = Table.sizeInside.width - tempRadius * 2;
Table.sizeMassArea.hight = Table.sizeInside.hight - tempRadius * 2;
% 调试模式
% figure, imshow(screenTemp);
% rectangle('Position',[Table.sizeMassArea.x, Table.sizeMassArea.y, Table.sizeMassArea.width, Table.sizeMassArea.hight],...
% 'EdgeColor','b',...
% 'LineWidth',2);
%% 球
Ball.sizeDiameter = Table.sizeOuter.width / 32; % 根据比例计算球的直径
Ball.sizeRadius = Ball.sizeDiameter / 2;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化