📜  在特定窗口位置显示 cv2.imshow - Python (1)

📅  最后修改于: 2023-12-03 15:37:44.783000             🧑  作者: Mango

在特定窗口位置显示 cv2.imshow - Python

如果你在使用 OpenCV 中的 imshow 函数时想要自定义窗口位置,可以使用以下代码:

import cv2

# 读取图像
img = cv2.imread('image.jpg')

# 定义窗口名字
win_name = 'My Image'

# 创建一个空白图像作为画布
canvas = np.zeros((480, 640, 3), dtype='uint8')

# 显示窗口,并指定窗口位置
cv2.namedWindow(win_name, cv2.WINDOW_NORMAL)
cv2.resizeWindow(win_name, 640, 480)
cv2.moveWindow(win_name, 100, 100)

# 在窗口中显示图像
cv2.imshow(win_name, img)

# 监听键盘事件
while True:
    key = cv2.waitKey(10)
    if key == ord('q') or key == 27:
        break

# 关闭窗口
cv2.destroyAllWindows()
代码说明

首先,我们使用 cv2.imread 函数读取一张图像。然后,定义了一个窗口名字叫做 "My Image"。

之后,我们创建了一个空白图像作为画布,使用 np.zeros 函数创建一个 480x640 的黑色图像,用于在窗口中显示图像。我们在窗口中显示图像之前,需要先用 cv2.namedWindow 函数创建一个窗口,并指定窗口的大小和位置。可以使用 cv2.resizeWindow 和 cv2.moveWindow 函数分别调整窗口大小和位置。

最后,我们使用 cv2.imshow 函数在窗口中显示图像,并使用 cv2.waitKey 函数监听键盘事件。用户按下 “q” 键或 ESC 键时,按键事件将退出循环并关闭窗口。

Markdown 代码片段
如果你在使用 OpenCV 中的 imshow 函数时想要自定义窗口位置,可以使用以下代码:

```python
import cv2

# 读取图像
img = cv2.imread('image.jpg')

# 定义窗口名字
win_name = 'My Image'

# 创建一个空白图像作为画布
canvas = np.zeros((480, 640, 3), dtype='uint8')

# 显示窗口,并指定窗口位置
cv2.namedWindow(win_name, cv2.WINDOW_NORMAL)
cv2.resizeWindow(win_name, 640, 480)
cv2.moveWindow(win_name, 100, 100)

# 在窗口中显示图像
cv2.imshow(win_name, img)

# 监听键盘事件
while True:
    key = cv2.waitKey(10)
    if key == ord('q') or key == 27:
        break

# 关闭窗口
cv2.destroyAllWindows()