在图像上画框代码python
时间: 2023-07-23 19:06:24 浏览: 63
以下是在Python中绘制矩形框的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 定义矩形框的位置和大小
x, y, w, h = 100, 100, 200, 200
# 绘制矩形框
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们使用OpenCV库来读取图像并绘制矩形框。我们首先定义矩形框的位置和大小,然后使用cv2.rectangle()函数绘制矩形框。该函数需要传递以下参数:
- 图像对象
- 矩形框的左上角坐标
- 矩形框的右下角坐标
- 颜色(BGR格式)
- 线的宽度
最后,我们使用cv2.imshow()函数显示图像,并使用cv2.waitKey()函数等待用户按下任意键退出窗口。
相关问题
在图像上画框,框上面写数字代码python
你可以使用Python中的OpenCV库来在图像上画框,并使用Pillow库来在框上写数字。下面是一个简单的示例代码:
```python
import cv2
from PIL import Image, ImageDraw, ImageFont
# 加载图像
img = cv2.imread('example.jpg')
# 在图像上绘制矩形框
cv2.rectangle(img, (100, 100), (200, 200), (0, 255, 0), 3)
# 创建一个Pillow图像对象,并在框上写数字
pil_img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
draw = ImageDraw.Draw(pil_img)
font = ImageFont.truetype('arial.ttf', size=30)
draw.text((110, 80), '1', fill=(0, 255, 0), font=font)
# 将Pillow图像对象转换回OpenCV图像对象
img = cv2.cvtColor(np.array(pil_img), cv2.COLOR_RGB2BGR)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例代码中,我们首先使用OpenCV库加载图像。然后,使用`cv2.rectangle`函数在图像上绘制矩形框,该函数接受四个参数:左上角坐标,右下角坐标,颜色和线宽。接下来,我们使用Pillow库创建一个新的图像对象,并在框上使用`draw.text`函数写数字。最后,我们将Pillow图像对象转换回OpenCV图像对象,并使用`cv2.imshow`函数显示图像。
python代码,在图像上画框,可以时时调整框的大小,位置
可以使用Python中的OpenCV库来在图像上绘制矩形框。可以使用鼠标事件来实时调整矩形框的大小和位置。以下是示例代码:
``` python
import cv2
# 定义鼠标事件回调函数
def draw_rect(event, x, y, flags, param):
global ix, iy, drawing, img, orig_img
if event == cv2.EVENT_LBUTTONDOWN: # 鼠标左键按下
drawing = True
ix, iy = x, y
elif event == cv2.EVENT_MOUSEMOVE: # 鼠标移动
if drawing:
copy_img = orig_img.copy()
cv2.rectangle(copy_img, (ix, iy), (x, y), (0, 255, 0), 2)
img = copy_img.copy()
elif event == cv2.EVENT_LBUTTONUP: # 鼠标左键释放
drawing = False
cv2.rectangle(img, (ix, iy), (x, y), (0, 255, 0), 2)
# 读取图像
orig_img = cv2.imread('test.jpg')
img = orig_img.copy()
# 创建窗口并绑定鼠标事件
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw_rect)
# 循环显示图像,按ESC键退出
while True:
cv2.imshow('image', img)
key = cv2.waitKey(1) & 0xFF
if key == 27:
break
cv2.destroyAllWindows()
```
这段代码可以让你在图像上使用鼠标绘制矩形框,并可以使用鼠标拖动来调整框的大小和位置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)