{"id":16751034,"url":"https://github.com/elerac/fullscreen","last_synced_at":"2025-04-10T15:38:40.668Z","repository":{"id":114611918,"uuid":"224615487","full_name":"elerac/fullscreen","owner":"elerac","description":"Display image in fullscreen for the projector-camera system.","archived":false,"fork":false,"pushed_at":"2024-12-02T06:07:18.000Z","size":699,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T13:21:28.154Z","etag":null,"topics":["display","fullscreen","imshow","projector"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elerac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-28T09:20:29.000Z","updated_at":"2024-12-28T05:09:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"535ae94d-8541-4cf8-b7dc-61e19a74fea6","html_url":"https://github.com/elerac/fullscreen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elerac%2Ffullscreen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elerac%2Ffullscreen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elerac%2Ffullscreen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elerac%2Ffullscreen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elerac","download_url":"https://codeload.github.com/elerac/fullscreen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248243482,"owners_count":21071054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["display","fullscreen","imshow","projector"],"created_at":"2024-10-13T02:42:52.946Z","updated_at":"2025-04-10T15:38:40.658Z","avatar_url":"https://github.com/elerac.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FullScreen\nDisplay image in fullscreen for the projector-camera system.\n\n![example3-gif](documents/fullscreen_overview.gif)\n\nPython has some GUI tools, but only a few of them are suitable for fullscreen display. In this repository, *Tkinter* or *OpenCV* or *PyQt5* can be used as the backend. The best backend depends on the environment (i.e., OS, monitor, version of the software), so choose the best one for you.\n\n\u003e [!NOTE]  \n\u003e Recently, I released a new fullscreen program using OpenGL/GLFW in Python. I confirmed it could run at 60 fps, which achieves much faster pro-cam synchronization. You can check it out at https://github.com/elerac/pyglimshow.\n\n\n## Requirement\n### Tkinter backend (default)\n- Pillow (PIL)\n\n### OpenCV backend (optional)\n- OpenCV\n- screeninfo (from https://github.com/rr-/screeninfo)\n\n### PyQt5 backend (optional)\n- Pillow (PIL) or OpenCV\n- PyQt5\n\n## Usage\n\n### Basic imshow\n```python\nimport time\nimport cv2\nfrom fullscreen import FullScreen\n\nscreen = FullScreen()\n\nimage = cv2.imread(\"image/himeji_castle.jpg\", 1)\n\nscreen.imshow(image)\n\ntime.sleep(3)\n```\n\n### Get the size of the screen\n```python\nheight, width, ch = screen.shape\n```\n\n### Choosing backend\n```python\nscreen = FullScreen(backend=\"tkinter\") # default\n```\n```python\nscreen = FullScreen(backend=\"cv2\")\n```\n```python\nscreen = FullScreen(backend=\"PyQt5\")\n```\n\n## Testing environment\n|      | OS | Hardware | Python | Backend |\n| ---- | ---- | ---- | ---- | ---- |\n|  ✅  | macOS Catalina |  MacBook Pro (13-inch, 2017)  |  3.8  |  Tkinter 8.6.11  |\n|  ✅  | macOS Catalina |  MacBook Pro (13-inch, 2017)  |  3.8  |  OpenCV-Python 4.4  |\n|  ❌  | macOS Catalina |  MacBook Pro (13-inch, 2017)  |  3.8  |  OpenCV-Python 4.5  |\n|  ✅  | macOS Catalina |  MacBook Pro (13-inch, 2017)  |  3.8  |  PyQt5 5.15  |\n|  ❌  | macOS BigSur |  MacBook Pro (13-inch, 2017)  |  3.7  |  Tkinter 8.5.9  |\n|  ✅  | macOS BigSur |  MacBook Pro (13-inch, 2017)  |  3.9  |  Tkinter 8.6.11  |\n|  ❌  | macOS BigSur |  MacBook Pro (13-inch, 2017)  |  3.9  |  OpenCV-Python 4.4  |\n|  ❌  | macOS BigSur |  MacBook Pro (13-inch, 2017)  |  3.9  |  OpenCV-Python 4.5  |\n|  ❌  | macOS BigSur |  Mac Pro (2019)  |  3.9  |  Tkinter 8.5.9  |\n|  ✅  | macOS BigSur |  Mac Pro (2019)  |  3.9  |  Tkinter 8.6.11  |\n|  ✅  | macOS BigSur |  Mac Pro (2019)  |  3.8  |  OpenCV-Python 4.4  |\n|  ❌  | macOS BigSur |  Mac Pro (2019)  |  3.8  |  OpenCV-Python 4.5  |\n|  ✅  | Windows 10 |  ThinkPad (L580)  |  3.9  |  Tkinter 8.6.9  |\n|  ✅  | Windows 10 |  ThinkPad (L580)  |  3.9  |  OpenCV-Python 4.4  |\n|  ✅  | Windows 10 |  ThinkPad (L580)  |  3.9  |  OpenCV-Python 4.5  |\n|  ✅  | Ubuntu 20 (GNOME) |   |  3.8  |  Tkinter 8.6.10 |\n|  ✅  | Ubuntu 20 (GNOME) |   |  3.8  |  OpenCV-Python 4.5  |\n|  🤔  | Ubuntu 20 (KDE) |   |  3.8  |  Tkinter 8.8.10 |\n|  ✅  | Ubuntu 20 (KDE) |   |  3.8  |  OpenCV-Python 4.4  |\n\nAlthough I have mainly tested on Mac, it should also work on Windows and Ubuntu as the software is cross-platform.\n\nTo summarize the above table, the following cases do not seem to work well ❌,\n- Tkinter 8.5.9 does not work well on macOS. I think it is related to that [the Apple-supplied Tcl/Tk 8.5 has serious bugs](https://www.python.org/download/mac/tcltk/).\n- OpenCV-Python 4.5 does not work well on macOS. I think it is related to that [Qt support has been dropped](https://github.com/opencv/opencv-python/releases/tag/48).\n\nIn some cases, it works but may not be perfect 🤔, \n- On Ubuntu, Tkinter could not display the first image, but the second and later images work well.\n- \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felerac%2Ffullscreen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felerac%2Ffullscreen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felerac%2Ffullscreen/lists"}