Q-Logo 我的学习笔记分享

Entries for category "debug"

python cv2.imread 读取含中文名称的图片

先用其他支持中文名称图片的函数,把图片数据导入到内存中,然后通过opencv从内存读入图片,这样就能读入中文名称的图片。

def cv2imgread(filename, mode=cv2.IMREAD_UNCHANGED):

# cv2.IMREAD_UNCHANGED 参数可以用-1代替

#cv2.IMREAD_GRAYSCALE 以灰度模式读入图像,可用0代替

#cv2.IMREAD_COLOR 读入彩色图像,可用1代替;

np_data = np.fromfile(filename, dtype=np.uint8) # 先用numpy把图片文件存入变量np_data,把图片数据看做是纯字节数据

img = cv2.imdecode(np_data, mode) #从内存数据读入图片

return img

manim 报错 Exception: Xelatex error converting to xdv 解决办法

  • 首先,修改manim\manimlib\constants.py 中的设置 TEX_USE_CTEX = True。如果不修改,默认值是False,使用的是同目录下的tex_template.tex 模板文件。修改后为True 后,就会使用同目录下的ctex_template.tex 模板文件。
  • 然后,修改manim\manimlib\ctex_template.tex 模板文件,将 \usepackage[UTF8]{ctex} 这一行,移到 \usepackage[english]{babel} 这一行前面。

效果如下

manim.PNG

Python 命令行运行py文件报错ModuleNotFoundError: No module named 'XXX'

一是设置 PYTHONPATH 环境变量,将自己的项目目录加入到其中,如果没有就创建一个。不同操作系统设置方式会有区别,可针对自己用的操作系统自行搜索怎样设置环境变量。

二是在报错的py文件中,通过sys、os等模块将需要添加的路径追加到sys.path 中,例如,用下面的方式将报错文件的父目录追加到sys.path 中

import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)

这样就可以让Python 找到需要的模块了。