问题
【现象1】
在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息:
SyntaxError: Non-ASCII character ‘\xe5’ in file *******
【原因】
python的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符。
【解决办法】
在Python源文件的最开始一行,加入一句:
coding=UTF-8(等号换为”:“也可以)
或者
-- coding:UTF-8 --
【现象2】
问题描述:一个在Django框架下使用Python编写的定时更新项目,在Windows系统下测试无误,在Linux系统下测试,报如下错误:
ascii codec can’t decode byte 0xe8 in position 0:ordinal not in range(128)
【原因】
在Windows系统转Linux系统时,字符问题很容易出现。
【解决办法】
在出现问题的页加上如下三行即可:
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8’)
程序
【程序1】
# coding=UTF-8
import cv2
import numpy as np
img = np.zeros((3, 3), dtype = np.uint8) # 通过二维NumPy数组来简单创建一个黑色的正方形图像
print(img) # 在控制台打印该图像
print(img.shape) # 通过shape属性来查看图像的结构,返回行和列,如果有一个以上的通道,还会返回通道数
img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR) # 利用cv2.cvtColor函数将该图像转换成BGR格式
print(img)
print(img.shape)
cv2.namedWindow("Image") # 显示该图像
cv2.imshow("Image", img)#cv2.waitKey (0) #保持屏幕
image = cv2.imread('flower.jpg') # 重新读取新图片flower,将‘flower.jpg’的图片与.py文件放在同一目录下,或者使用绝对路径
cv2.imwrite('flower.png',image) #保存为另一种格式png
cv2.namedWindow("flower") # 显示该图像
cv2.imshow("flower", image)
cv2.waitKey (0)
在默认情况下,即使图像文件为灰度格式,imread()函数也会返回BGR格式的图像,