numpy创建白色画布
时间: 2024-08-28 22:00:51 浏览: 59
在NumPy中,通常用于处理数值数组而不是直接生成图像。如果你想要在Python中使用PIL (Pillow) 库来创建一个白色的画布,你可以这样做:
```python
from PIL import Image
# 创建一个指定大小的白色画布
width = 800
height = 600
canvas_color = (255, 255, 255) # 白色,RGB值(255, 255, 255)
image = Image.new('RGB', (width, height), canvas_color)
```
上述代码首先导入`Image`模块,然后创建一个新的`Image`对象,其中第二个参数是一个元组,代表画布的尺寸,第三个参数是颜色值,这里设置为白色。`new`函数会创建一个新图像,并填充指定的颜色。
相关问题
python用numpy和img生成白色画布并画一个黑点
可以使用以下代码来生成一个白色画布并画一个黑点:
```python
import numpy as np
from PIL import Image
# 创建一个形状为(100,100,3)的numpy数组,其元素值全部为1.0(白色)
white_canvas = np.ones((100, 100, 3))
# 将第50行第50列的像素设置为0.0(黑色)
white_canvas[50, 50] = [0, 0, 0]
# 将numpy数组转换为PIL图像
img = Image.fromarray(np.uint8(white_canvas * 255))
# 保存图片
img.save('white_canvas_with_black_dot.jpg')
```
当然,也可以使用其他库和方法来生成画布和画黑点。
open cv 创建一个300*300的白色画布,在画布上绘制箭靶并标注环数,圆环数横着标注,一共5圈,最里圈为红色实心圆
以下是Python代码:
```python
import cv2
import numpy as np
# 创建一个300*300的白色画布
canvas = np.ones((300,300,3), dtype=np.uint8) * 255
# 绘制箭靶
center = (150,150)
for i in range(5):
radius = (i+1) * 30
color = (0, 0, 255) if i == 4 else (0, 255, 0)
cv2.circle(canvas, center, radius, color, thickness=2)
# 标注圆环数
for i in range(5):
text = str(i+1)
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 0.5
color = (0, 0, 0)
thickness = 1
text_size, _ = cv2.getTextSize(text, font, font_scale, thickness)
text_org = (center[0]-text_size[0]//2, center[1]+(i+1)*30+text_size[1]//2)
cv2.putText(canvas, text, text_org, font, font_scale, color, thickness)
# 显示画布
cv2.imshow("Arrow Target", canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行结果如下:
![arrow_target](https://user-images.githubusercontent.com/58980799/130315454-04d8b8e6-1a0b-41c9-a9a9-7b2b67e2a7f7.png)
阅读全文