欢迎光临散文网 会员登陆 & 注册

讲讲opencv读取图片的一些细节以及注意事项

2023-03-27 17:38 作者:深度之眼官方账号  | 我要投稿

来源:投稿 作者:蓬蓬奇
编辑:学姐

深度学习数据预处理中常用opencv读入图片,一般在__getitem__函数中调用。本文主要介绍opencv读取图片的一些细节以及注意事项。本文中使用的图片见第6节“opencv测试使用的图片”。

1.如何通过opencv显示图片?

通过Jupyter Notebook运行OpenCV,运行CV2.imshow()时报错。

报错:

解决方法:先卸载opencv,再重新安装。(未解决,可直接转下述方法)

参考链接:https://blog.csdn.net/tudou2013goodluck/article/details/108402055

报错:内核崩溃。

解决方法:opencv读取图片,之后使用matplotlib库显示图片。

下述两个代码均可以:

参考链接:https://github.com/jupyter/notebook/issues/3935

2.opencv读入图片默认为BGR

第一幅图为原始图片,第二幅图为BGR图片,第三幅图为RGB图片。

3.opencv读入图片默认为HWC

可以将HWC转变为CHW:

4.opencv读入图片默认为nd.array形式

CV2.imread()读取图片后以多维数组的形式保存图片信息。

可以转变为torch.tensor,.float()表示转变为torch.float32

5.CV2.imread()

CV2.imread()有两个参数,第一个参数filename是图片路径,第二个参数flag表示图片读取模式,共有三种:

  • CV2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。

  • CV2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。

  • CV2.IMREAD_UNCHANGED:包括alpha(包括透明度通道),可以直接写-1。即以不改变图片的方式打开,图片是彩色就是彩色,图片是灰度图像就是灰度图像。

通过CV2.IMREAD_COLOR读入灰度图,三通道数值相同。

第一幅图为mask,第二幅图为mask1,第三幅图为mask2。

6.opencv测试使用的图片

可以右键保存下述图片,调试上面代码。

关注【学姐带你玩AI】公众号

CV方向必读高分论文回复“500”领取

CV顶会必读论文合集回复“CVPR”领取

讲讲opencv读取图片的一些细节以及注意事项的评论 (共 条)

分享到微博请遵守国家法律