本文只是一种实现思路,当然PS很好用(一张的话建议使用PS哦~,多张图片的话用代码快很多哦~),希望大家能够学习更多的知识,才分享了这个文章。更多精彩,请关注公众号:【测试员小何】,可以获取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!
1.图片来源
该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流。
2.读取图片并显示
- imread():读取图片;
- imshow():展示图片;
- waitkey():设置窗口等待,如果不设置,窗口会一闪而过;
<span style="color:#000000"><code class="language-python"><span
style="color:#b294bb">import</span> cv2
<span style="color:#b294bb">import</span> numpy <span style="color:#b294bb">as</span> np
<span style="color:#969896"># 读取照片</span> #公众号【测试员小何】
img<span style="color:#a67f59">=</span>cv2<span style="color:#999999">.</span>imread<span style="color:#999999">(</span><span style="color:#b5bd68">'girl.jpg'</span><span style="color:#999999">)</span>
<span style="color:#969896"># 显示图像</span> #公众号【测试员小何】
cv2<span style="color:#999999">.</span>imshow<span style="color:#999999">(</span><span style="color:#b5bd68">'img'</span><span style="color:#999999">,</span>img<span style="color:#999999">)</span>
<span style="color:#969896"># 窗口等待的命令,0表示无限等待</span>
cv2<span style="color:#999999">.</span>waitKey<span style="color:#999999">(</span><span style="color:#b5bd68">0</span><span style="color:#999999">)</span>
</code></span>
效果如下:
3.图片缩放
- resize():图片缩放,其中fx和fy表示缩放比例,0.5表示缩放为以前的 一半。
<span style="color:#000000"><code class="language-python"><span style="color:#b294bb">import</span> cv2
<span style="color:#b294bb">import</span> numpy <span style="color:#b294bb">as</span> np
<span style="color:#969896"># 读取照片</span>
img<span style="color:#a67f59">=</span>cv2<span style="color:#999999">.</span>imread<span style="color:#999999">(</span><span style="color:#b5bd68">'girl.jpg'</span><span style="color:#999999">)</span>
<span style="color:#969896"># 图像缩放</span> #公众号【测试员小何】
img <span style="color:#a67f59">=</span> cv2<span style="color:#999999">.</span>resize<span style="color:#999999">(</span>img<span style="color:#999999">,</span><span style="color:#de935f">None</span><span style="color:#999999">,</span>fx<span style="color:#a67f59">=</span><span style="color:#b5bd68">0.5</span><span style="color:#999999">,</span>fy<span style="color:#a67f59">=</span><span style="color:#b5bd68">0.5</span><span style="color:#999999">)</span>
rows<span style="color:#999999">,</span>cols<span style="color:#999999">,</span>channels <span style="color:#a67f59">=</span> img<span style="color:#999999">.</span>shape
<span style="color:#b294bb">print</span><span style="color:#999999">(</span>rows<span style="color:#999999">,</span>cols<span style="color:#999999">,</span>channels<span style="color:#999999">)</span>
<span style="color:#969896"># 显示图像</span>
cv2<span style="color:#999999">.</span>imshow<span style="color:#999999">(</span><span style="color:#b5bd68">'img'</span><span style="color:#999999">,</span>img<span style="color:#999999">)</span>
<span style="color:#969896"># 窗口等待的命令,0表示无限等待</span>
cv2<span style="color:#999999">.</span>waitKey<span style="color:#999999">(</span><span style="color:#b5bd68">0</span><span style="color:#999999">)</span>
</code></span>
结果如下:
4.将图片转换为灰度图像
三色图片有RGB三个颜色通道,无法进行腐蚀和膨胀的操作。这个就需要我们将彩色图片转换为hsv灰度图像后,再完成腐蚀和膨胀的操作。
- cv2.cvtColor(img,cv2.COLOR_BGR2HSV)可以将彩色图片转化为hsv灰度图片。
<span style="color:#000000"><code class="language-python"><span style="color:#b294bb">import</span> cv2
<span style="color:#b294bb">impo