图片处理两兄弟PIL和OpenCV

还记上篇我们安装了anaconda+torch+opencv,但是对opencv我基本没怎么提到它,在这里要给他陪个不是了,然后在这里隆重的介绍一下它,撒花,以及它的好兄弟PIL,不是PLC哦,也不是PCL哦,别混淆了。

在这之前,我提供一张一会要用到的图片,咩咩狗

怎么说呢,那就是爆炸的可爱输出啊

至于为什么叫咩咩呢?这是一个有趣的爱情故事,本人不才,有个女朋友,她想养一只羊,我是一个使命必达的男朋友,然后买了一条狗取名叫咩咩,人送外号,感动哥,哭吧,这世界还能有我这么爱女朋友的人吗?有吗? 

 读图上的比较:我们分别用PIL和opencv读图一下或者说读一下图,先对比一下读出来的数据类型是什么,上图

你猜猜会是什么样的?别猜了,试一下就知道了,实践是检验真理的唯一标准,上图

 

 可以明显的看到opencv是numpy格式的,而PIL是<class 'PIL.PngImagePlugin.PngImageFile'>这玩意,害,反正就是不一样

你可能要问了,这个格式能转换成一样吗,答案是,能,肯定能,一定能,上图

这是opencv转PIL

                                                               这是PIL转opencv

获取图像宽,高,通道数的比较

知识点,敲黑板,敲黑板,敲黑板:

1.opencv的图片用shape,会返回三个值,分别是高,宽,通道数

2.PIL的图片用size,返回两个值,分别是宽,高

如果你没发现的话,我提醒你一下,PIL和opencv返回的值中,宽高的顺序是不一样的,OpenCV先高再宽,PIL先宽在高,都是知识点啊

3.PIL的图片的通道数的获取用len(pil_image.split()),就是这么与众不同,就是这么特立独行

通道顺序和读取值的比较

 首先,一般图片是3个通道的,分别是r,g,b,rgb啥意思呢?red,green,blue,我的英语水平极佳,只能这么说吧,也有单通道的,也有4通道的,严谨

我们来打印一下opencv读出来图的数值

再来打印一下PIL读出来的图的数值

 

 你发现了什么吗?你肯定发现了,但是发现全了吗?

1.通道的循序不一样,通过看值就能看出来了吧,opencv第一行是91 157 216 而PIL第一行是216 157 91,这是啥意思呢?回答:opencv读图的通道顺序是bgr,PIL是rgb,嗯,不错不错

2.再看倒数第三行,opencv是223 247 253 PIL是253 247 221,发现不仅顺序不一样,值还不一样,咋回事?别慌,正常正常,223和221这点差距才多大,默默接受吧,没什么大影响。

这两兄弟的对比就差不多了,这里有什么不对的地方,我还是接受反驳的,但是我不负责任。

至此,敬礼,salute。

 

 

 

 

 

 

 

                                         

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咕里个咚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值