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