cv2 resize 到指定大小_python在图片上添加指定字体的文字
时间: 2023-10-07 09:03:55 浏览: 37
你可以使用 OpenCV 的 resize 函数来调整图片大小,例如:
```python
import cv2
img = cv2.imread('image.jpg')
resized_img = cv2.resize(img, (800, 600))
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们将图片调整为宽度为 800 像素,高度为 600 像素。
要在图片上添加指定字体的文字,可以使用 OpenCV 的 putText 函数,例如:
```python
import cv2
img = cv2.imread('image.jpg')
text = 'Hello, world!'
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 1
thickness = 2
color = (255, 255, 255)
x = 50
y = 50
cv2.putText(img, text, (x, y), font, font_scale, color, thickness)
cv2.imshow('Image with Text', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们使用了 FONT_HERSHEY_SIMPLEX 字体,字体大小为 1,线条宽度为 2,颜色为白色。我们将文字放置在位置 (50, 50)。
相关问题
""" Author:XiaoMa date:2021/11/2 """ import cv2 import numpy as np import matplotlib.pyplot as plt img0 = cv2.imread("E:\putout\scene00001.png") img1 = cv2.resize(img0, dsize=None, fx=1, fy=1) img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) h, w = img1.shape[:2] print(h, w) cv2.namedWindow("W0") cv2.imshow("W0", img2) cv2.waitKey(delay=0) # 图像进行二值化 ##第一种阈值类型 ret0, img3 = cv2.threshold(img2, 127, 255, cv2.THRESH_BINARY) print(ret0) ##第二种阈值类型 ret1, img4 = cv2.threshold(img2, 127, 255, cv2.THRESH_BINARY_INV) print(ret1) ##第三种阈值类型 ret2, img5 = cv2.threshold(img2, 127, 255, cv2.THRESH_TRUNC) print(ret2) ##第四种阈值类型 ret3, img6 = cv2.threshold(img2, 127, 255, cv2.THRESH_TOZERO) print(ret3) ##第五种阈值类型 ret4, img7 = cv2.threshold(img2, 127, 255, cv2.THRESH_TOZERO) print(ret4) # 将所有阈值类型得到的图像绘制到同一张图中 plt.rcParams['font.family'] = 'SimHei' # 将全局中文字体改为黑体 figure = [img3] title = ret0["原图", "第一种阈值类型", "第二种阈值类型", "第三种阈值类型", "第四种阈值类型", "第五种阈值类型"] for i in range(6): figure[i] = cv2.cvtColor(figure[i], cv2.COLOR_BGR2RGB) # 转化图像通道顺序,这一个步骤要记得 plt.subplot(3, 2, i + 1) plt.imshow(figure[i]) plt.title(title[i]) # 添加标题 plt.savefig("E:\putout") 这串代码哪里有问题
这段代码使用Python中的OpenCV库及其相关函数导入一张本地图片,进行了缩放、颜色空间转换等操作。其中,cv2.imread()函数读取位于本地路径"E:\putout\scene00001.png"的图片,cv2.resize()对图片进行了大小重置,而cv2.cvtColor()则将图片从BGR颜色空间转换为灰度颜色空间。最后,使用cv2.namedWindow()和cv2.imshow()将转换后的图片显示出来。
印刷体识别python
印刷体识别和手写数字识别不同,因为印刷体是一种印刷字体,其形状、大小、倾斜角度等都比较规则。因此,印刷体识别可以使用基于模板匹配、特征提取和分类器等技术来实现。
以下是一个使用Python实现印刷体识别的示例代码:
```python
import cv2
import numpy as np
# 加载模板图片
template_img = cv2.imread('template.png', 0)
# 定义特征提取函数
def extract_features(img):
# 将图片转为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行二值化处理
_, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
# 计算图片的轮廓
contours, hierarchy = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 计算轮廓的外接矩形
x, y, w, h = cv2.boundingRect(contours[0])
# 将外接矩形区域提取出来,并调整为指定大小
roi = cv2.resize(binary[y:y + h, x:x + w], (20, 20), interpolation=cv2.INTER_AREA)
# 将图片转为一维数组
features = roi.reshape(1, -1)
return features
# 加载测试图片
test_img = cv2.imread('test.png')
# 提取测试图片的特征
test_features = extract_features(test_img)
# 加载分类器模型
model = cv2.ml.KNearest_create()
model.train(template_features, cv2.ml.ROW_SAMPLE, np.arange(10))
# 对测试图片进行预测
_, result, _, _ = model.findNearest(test_features, k=1)
# 输出预测结果
print(result)
```
该代码使用了OpenCV库,首先加载模板图片,然后定义特征提取函数。接着加载测试图片,提取测试图片的特征,并加载分类器模型。最后,使用模型对测试图片进行预测,并输出预测结果。
需要注意的是,该示例代码的识别效果可能有限,因为它只使用了单个模板图片进行识别。如果要提高识别准确率,可以使用多个模板图片,并对特征提取和分类器进行优化。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)