opencv创建白色背景,在白色背景下画圆,再用tkiner显示
时间: 2024-03-11 11:48:53 浏览: 66
要在OpenCV中创建白色背景并在其上绘制圆形,可以使用cv2.circle函数。然后可以使用PIL和Tkinter将图像转换为Tkinter中的图像,并在Tkinter窗口中显示它。以下是一个简单的示例代码:
```python
import cv2
import numpy as np
from PIL import Image, ImageTk
import tkinter as tk
# 创建白色背景
width = 400
height = 400
img = np.zeros((height, width, 3), np.uint8)
img.fill(255)
# 在白色背景上绘制圆形
center = (200, 200)
radius = 100
color = (0, 0, 255)
thickness = 2
cv2.circle(img, center, radius, color, thickness)
# 将图像从OpenCV格式转换为PIL格式
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img_pil = Image.fromarray(img_rgb)
# 将PIL图像转换为Tkinter图像
img_tk = ImageTk.PhotoImage(img_pil)
# 创建Tkinter窗口并在其中显示图像
root = tk.Tk()
label = tk.Label(root, image=img_tk)
label.pack()
root.mainloop()
```
这段代码中,首先创建一个大小为400x400、白色背景的图像。然后使用cv2.circle函数在白色背景上绘制一个红色圆形。接着将图像从OpenCV格式转换为PIL格式,将PIL图像转换为Tkinter图像并将其显示在Tkinter窗口中。在cv2.circle函数中,第一个参数是要绘制圆形的图像,第二个参数是圆形的中心点坐标,第三个参数是圆形的半径,第四个参数是圆形的颜色,最后一个参数是圆形边框的粗细。
阅读全文