72.python偷加圣诞帽

2022-02-09  本文已影响0人  扶桑啊啊

第一步:显示图像

在windows使用Python2.7,已安装好opencv,先实现第一步,将圣诞帽图像变成灰色,

按照源代码失败,因为不知道出错在哪一步,所以增加显示图像的函数来一步步进行调试

image image

但是cv2.imshow一直失败,显示灰色图案,

image

查询后参考此文章:http://blog.csdn.net/watkinsong/article/details/9189753,根据他的提示相应的修改Python的代码,增加cv2.waitKey()后成功显示图像。

image image

但是显示的图像脏脏的,跟在ps里打开不一样,查了半天不知道什么原因,推测可能是有些像素肉眼不可见,但是用函数处理后可见了,所以将原图用ps进行了修改,删除了帽子以外区域的像素。重新编译后没有脏像素了。

image

诶,好像显示的不是红通道,跟ps比对发现这是蓝通道啊,原来cv2.imread()导入图片时是BGR通道顺序

于是修改代码

image image

这下才是红通道了嘛


rgb_hat=cv2.merge((b,g,r))用来还原原图像,此时若顺序错,则还原出的图像颜色错

image

分离出alpha通道并显示

上期我成功使用opencv函数显示了图像,但是源代码中的生成alpha通道命令始终失败,原来在imead阶段,增加参数-1就可以生成alpha通道了。

image

至此完成了第一步,读取图像并显示alpha通道,注释掉我自己添加的用于理解代码的imshow等函数,并且将参数修改与原代码一致(其实就是原来为了偷懒将帽子图像声明为img,后来发现原代码将人物命名为img,尴尬,按照它的改了,省的后面忘记了出现不必要的错误)

image
上一篇下一篇

猜你喜欢

热点阅读