这篇“cv2.imread和cv2.imdecode怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“cv2.imread和cv2.imdecode怎么使用”文章吧。
cv2.imread正常读取影像
import cv2 path = '/data/北京/beijing.png' img = cv2.imread(path)
运行上述代码,会报错!
cv2.imdecode从内存中读取影像
import cv2 path = '/data/北京/beijing.png' arr = np.fromfile(path, dtype=np.uint8) img = cv2.imdecode(arr, flags=cv2.IMREAD_COLOR)
运行上述代码,成功!
并且imdecode得到的影像波段顺序是RGB,不是BGR,这是与opencv区别的地方。
函数说明:
np.decode 从内存的缓冲区读取图像
np.fromfile 将文本或二进制文件中数据构造成数组
import cv2 out_path = '/data/北京/beijing.png' cv2.imwrite(out_path,img)
运行上述代码,会报错!
cv2.imdecode从内存中读取影像
import cv2 out_path = '/data/北京/beijing.png' arr = cv2.imencode('png',img) out[1].tofile(out_path)
运行上述代码,成功!
函数说明:
cv2.encode 将图像编码到内存缓冲区中
np.tofile 将数组中的数据以二进制格式写进文件
以上就是关于“cv2.imread和cv2.imdecode怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。