import cv2
import numpy as np
img = cv2.imdecode(np.fromfile(r'C:\Users\zhu18\Pictures\Camera Roll\Progress\示例2.jpg', dtype=np.uint8), 1)
M=np.float32([[1,0,25],[0,1,50]])
shifted_img=cv2.warpAffine(img,M,(img.shape[1],img.shape[0]))
cv2.imshow('Shifted',shifted_img)
print(type(img))
完美运行,图片成功显示,借助于numpy来读入数据,然后cv2.imdecode()把数据转换(解码)成图像。
当使用cv2.imread(file)读取图片一直读取不了就要看看file路径是否存在中文了,今天写了的代码,用cv2.imread()读取图片路径一直报错,试了很多种方法,结果是中文出错了。使用Opencv库倒入cv2包:import cv2解决方法1:把文件路径里的文件名里带中文的全改为英文#只使用前三个参数cv2.warpAffine(img,M,(rows,cols)),出现黑边i...
import matplotlib.pyplot as plt
#读取图片代码
img = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE)
#IMREAD_COLOR = 1
#IMREAD_UNCHANGED = -1
#展示图片
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
#使用matplotlib分析图片
#plt.imshow
原因是打开图片的是Image,但是却是用cv2来转化图片,这会导致格式不一致。
因此改为cv2.imread()得读取形式
使用Image.open打开,保存必须是plt形式进行保存
使用cv2.imread()打开,保存使用cv2.imwrite
使用cv2读取图片时,输出图片形状大小时出现报错“ ‘NoneType’ object has no attribute shape”,后来排查发现读取图片的返回值image为None, 这就说明图片根本就没有被读取。
下面图片是问题问题解决后,为了更好的展示,写的代码展示,这是正常的因果关系,找错误排查时是从下往上推。
使用PIL读取图像,能够成功读取图片,借此了解图片的大小和格式,代码如下图所示:
cv.imread函数能够成功读取非中文路径的图片,所以就想到是不是中文路径的问题,opencv中opencv不接受non-ascii的路径,解决方法就是先用先用np.fromfile()读
import cv2 as cv
img = cv.imread("D:\\python_file\ae.jpg")
cv.imshow("image",img)
#cv.waitKey(0)
以上这篇解决python opencv无法显示图片的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
在上面的代码中,`cv2.imread()`函数的第一个参数是要读取的图片路径,第二个参数是图像的读取模式。对于TIFF图片,您可以使用`cv2.IMREAD_UNCHANGED`作为第二个参数,它会保持图像中的通道数和像素深度不变。
如果图片读取成功,您可以通过`cv2.imshow()`函数显示图像,然后使用`cv2.waitKey(0)`等待用户按下任意键,最后使用`cv2.destroyAllWindows()`关闭窗口。如果图片读取失败,会打印出"无法读取图片"的提示信息。
请注意,您需要确保OpenCV库已正确安装。
解决Mybatis报错:org.apache.ibatis.reflection.ReflectionException: There is no getter for property named
16738