python - 如何从一个语句中制作多个图像?
问题描述
我正在使用 openCV 和 EAST 进行文本检测。一旦我检测到带有文本的区域,我想将它们裁剪成多个图像。我如何裁剪它们?
for (startX, startY, endX, endY) in boxes:
# scale the bounding box coordinates based on the respective
startX = int(startX * rW)
startY = int(startY * rH)
endX = int(endX * rW)
endY = int(endY * rH)
# drawing the bounding box on the image
Final = orig[startY:endY, startX:endX]
cv2.imshow("Text Detection", Final)
cv2.waitKey(0)
cv2.imwrite("test.jpg",Final)
由于它可以检测图片中的多个文本,我希望它生成多个裁剪图像,但我不知道如何
解决方案
您必须为文件使用不同的名称。
您可以使用enumerate()
字符串格式将数字添加到文件名
for number, (startX, startY, endX, endY) in enumerate(boxes):
# ... rest ...
cv2.imwrite("test{}.jpg".format(number), Final)
或者至少使用变量来计算文件
number = 0
for (startX, startY, endX, endY) in boxes:
# ... rest ...
number += 1
cv2.imwrite("test{}.jpg".format(number), Final)
# or
#cv2.imwrite("test" + str(number) + ".jpg", Final)
# or Python 3.6+
#cv2.imwrite(f"test{number}.jpg", Final)
推荐阅读
- python - 如果不连续,有效地添加行
- sockets - 如何使用套接字选择功能
- php - LARAVEL 刷新我的数据库后,我遇到了在我的路线中找不到参数的问题
- javascript - GAS,Bootstrap Web 表单在表格中搜索和显示数据,但它不显示链接或超链接以单击它们(来自电子表格)
- html - 我怎样才能让我的整个 div 周围有阴影?
- python - 在 django admin 中搜索模型
- python - 创建 For 循环以预测组中的下一个值 (Python)
- php - 奖励预算削减 (PHP)
- c++ - 为什么我们在给出模板类型时需要加上括号
- c# - Unity 编辑器脚本:如何创建自定义弹出窗口以选择特定类