cv2 将 ä ö ü 重命名为 ae oe ue
cv2 rename ä ö ü to ae oe ue
在代码中,我将多个单页 PDF 转换为 PNG 格式。转换本身适用于 cv2,但遗憾的是许多文档 (PDF) 名称包含德语变音符 (ä,ö,ü),而 PNG 最终具有特殊字符。
示例:将 PDF (lösung_122.png) 转换为 PNG 后,它看起来像这样“lösung_122.png”。
应该是loesung_122.png.
我想将文档标题中的所有这些字符 (ä,ö,ü) 替换为 ae、oe、ue。
我如何调整我的代码来实现这个目标?我有什么选择?也许有一种方法可以在转换文档 (PDF) 之前重命名它们?
from pdf2image import convert_from_path
import os
import cv2
if __name__ == '__main__':
# Init
dir_name = os.getcwd()
path_pdf = dir_name + '/data/doc/October' #Folder containing all documents (PDF)
save_path = dir_name + '/data/blanko/' #Folder with all converted doc (PNG)
# Loop sub Folders:
files = os.listdir(path_pdf)
for pdf_file in files:
# Check if PDF file
if pdf_file[-3:] == 'pdf':
images = convert_from_path(path_pdf + '/' + pdf_file, dpi=300, poppler_path='C:/Develop/poppler-0.68.0_x86/poppler-0.68.0/bin')
# Save Images
images[0].save(save_path + 'tmp.png', 'PNG')
img = cv2.imread(save_path + 'tmp.png')
cv2.imwrite(save_path + pdf_file[:-4] + '.png', img)
感谢任何帮助
此致
我是 cv2.imwrite()
中的一个错误,它正在破坏你给它的名字。你可以试试这个来解开名字:
result = os.path.join(save_path, os.path.splitext(pdf_file)[0] + '.png')
cv2.imwrite(result, img)
os.rename(result.encode().decode('mbcs'),result)
这会将损坏的文件重命名为原始文件。请注意,这不会删除变音符号,因为 Windows 可以处理名称中的那些字符。
但请注意,它只能恢复以您的本地编码表示的字符,可能是 Windows-1252。
在代码中,我将多个单页 PDF 转换为 PNG 格式。转换本身适用于 cv2,但遗憾的是许多文档 (PDF) 名称包含德语变音符 (ä,ö,ü),而 PNG 最终具有特殊字符。
示例:将 PDF (lösung_122.png) 转换为 PNG 后,它看起来像这样“lösung_122.png”。 应该是loesung_122.png.
我想将文档标题中的所有这些字符 (ä,ö,ü) 替换为 ae、oe、ue。
我如何调整我的代码来实现这个目标?我有什么选择?也许有一种方法可以在转换文档 (PDF) 之前重命名它们?
from pdf2image import convert_from_path
import os
import cv2
if __name__ == '__main__':
# Init
dir_name = os.getcwd()
path_pdf = dir_name + '/data/doc/October' #Folder containing all documents (PDF)
save_path = dir_name + '/data/blanko/' #Folder with all converted doc (PNG)
# Loop sub Folders:
files = os.listdir(path_pdf)
for pdf_file in files:
# Check if PDF file
if pdf_file[-3:] == 'pdf':
images = convert_from_path(path_pdf + '/' + pdf_file, dpi=300, poppler_path='C:/Develop/poppler-0.68.0_x86/poppler-0.68.0/bin')
# Save Images
images[0].save(save_path + 'tmp.png', 'PNG')
img = cv2.imread(save_path + 'tmp.png')
cv2.imwrite(save_path + pdf_file[:-4] + '.png', img)
感谢任何帮助
此致
我是 cv2.imwrite()
中的一个错误,它正在破坏你给它的名字。你可以试试这个来解开名字:
result = os.path.join(save_path, os.path.splitext(pdf_file)[0] + '.png')
cv2.imwrite(result, img)
os.rename(result.encode().decode('mbcs'),result)
这会将损坏的文件重命名为原始文件。请注意,这不会删除变音符号,因为 Windows 可以处理名称中的那些字符。
但请注意,它只能恢复以您的本地编码表示的字符,可能是 Windows-1252。