回答編集履歴
1
コメントを受けて追記
answer
CHANGED
@@ -17,4 +17,19 @@
|
|
17
17
|
cv2.imshow('figure',cv_img)
|
18
18
|
cv2.waitKey(0)
|
19
19
|
cv2.destroyAllWindows()
|
20
|
-
```
|
20
|
+
```
|
21
|
+
|
22
|
+
## 追記:マルチモニターの場合
|
23
|
+
`ImageGrab.grab()`の引数に `all_screens=True,`を入れると全てのスクリーンを一度に取得できます。Falseの場合は現在フォーカスがあるモニタ側の取得で、こちらがデフォルト動作。
|
24
|
+
そこから必要な部分を手動でクリッピングする必要があります。
|
25
|
+
全体取得してからクリッピングしても良いですし、`bbox = (top, left, rigth, bottom)` オプションでクリップする座標を指定できます。
|
26
|
+
|
27
|
+
```python
|
28
|
+
# 例:横並びHullHD2台のモニタがあったとして、右側のモニタだけをクリップする場合
|
29
|
+
img = ImageGrab.grab( all_screens=True, bbox=(1920,0,3840,1080) )
|
30
|
+
```
|
31
|
+
|
32
|
+
モニタ番号等の指定は不可能です。全体取得した画像から自力で判断してください。
|
33
|
+
|
34
|
+
その他のオプションは公式リファレンスを参照:
|
35
|
+
[https://pillow.readthedocs.io/en/stable/reference/ImageGrab.html](https://pillow.readthedocs.io/en/stable/reference/ImageGrab.html)
|