python如何使用opencv读取图像并写入图像
时间: 2023-12-27 08:01:50 浏览: 47
可以使用以下代码读取图像并写入图像:
```python
import cv2
# 读取图像
img = cv2.imread("image.jpg")
# 显示图像
cv2.imshow("Original Image", img)
cv2.waitKey(0)
# 写入图像
cv2.imwrite("new_image.jpg", img)
# 释放窗口
cv2.destroyAllWindows()
```
这段代码使用了 OpenCV 库中的 imread() 和 imwrite() 函数来读取和写入图像。你可以在程序中指定相应的图像路径、格式和名称,以实现对图像的读取和写入操作。
相关问题
python-opencv 在图片上写入汉字
要在图片上写入汉字,可以使用Python中的Pillow库(也称为PIL)和OpenCV库。以下是一个示例:
```python
import cv2
from PIL import Image, ImageDraw, ImageFont
# 读取图片
img = cv2.imread('example.jpg')
# 将OpenCV格式的图片转换为Pillow格式的图片
img_pil = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
# 在图片上添加中文文字
draw = ImageDraw.Draw(img_pil)
font = ImageFont.truetype('simsun.ttc', 20) # 使用宋体字体
draw.text((10, 10), '你好,世界!', font=font, fill=(255, 0, 0)) # 在左上角写入文字
# 将Pillow格式的图片转换为OpenCV格式的图片
img_cv2 = cv2.cvtColor(np.asarray(img_pil), cv2.COLOR_RGB2BGR)
# 显示图片
cv2.imshow('image', img_cv2)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先使用OpenCV读取一个图片。然后,我们将这个图片转换为Pillow格式,并使用Pillow在图片上添加了一些中文文字。最后,我们将Pillow格式的图片转换为OpenCV格式,并使用OpenCV显示这个图片。
python 图像线条坐标提取写入excel
作为AI语言模型,我可以为您提供一些思路和代码示例,但是我无法直接执行代码或访问您的计算机。以下是一个可能的解决方案:
1. 使用Python的OpenCV库读取图像并进行边缘检测,提取线条坐标。
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 边缘检测
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 提取线条坐标
lines = cv2.HoughLinesP(edges, 1, cv2.cv2.PI/180, threshold=100, minLineLength=100, maxLineGap=10)
# 打印线条坐标
for line in lines:
x1, y1, x2, y2 = line[0]
print(x1, y1, x2, y2)
```
2. 使用Python的openpyxl库将线条坐标写入Excel文件。
```python
from openpyxl import Workbook
# 创建Excel文件
wb = Workbook()
ws = wb.active
# 写入线条坐标
for i, line in enumerate(lines):
x1, y1, x2, y2 = line[0]
ws.cell(row=i+1, column=1, value=x1)
ws.cell(row=i+1, column=2, value=y1)
ws.cell(row=i+1, column=3, value=x2)
ws.cell(row=i+1, column=4, value=y2)
# 保存Excel文件
wb.save('lines.xlsx')
```
这是一个简单的示例,您可以根据自己的需求进行修改和扩展。同时,需要注意的是,这种方法可能无法处理复杂的图像和线条,需要根据实际情况进行调整和优化。