前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python苦短-CV2

python苦短-CV2

作者头像
火星娃统计
发布2020-09-15 15:54:55
1.2K0
发布2020-09-15 15:54:55
举报
文章被收录于专栏:火星娃统计火星娃统计

CV2 学习

概述

cv2是计算机视觉处理中应用比较多的第三方库,里面还包含一些训练好的识别模型,比如人脸识别、人眼识别等模型,此次想实现一个图片差异判别的程序。下面的两张图存在一些不一样的地方,能看出来吗?(原谅我特丑的钥匙串) 图片1

图片2

代码

代码语言:javascript
复制
# 导入需要的包
import cv2  # pip install opencv-python
import numpy as np
from PIL import Image, ImageDraw, ImageFont  # pip install pillow

# 导入第一个图片
first1 = cv2.imread(
    r"D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\CV2\1.jpg"
)
# 彩色图片转换为灰度图片
first1 = cv2.cvtColor(first1, cv2.COLOR_BGR2GRAY)
# 高斯模糊,目的是去除一些噪点
first1 = cv2.GaussianBlur(first1, (21, 21), 1.5)
# 21,21 为高斯窗格,最后一个参数为模糊参数,越大模糊约严重

# 导入第二个图片
first2 = cv2.imread(
    r"D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\CV2\2.jpg"
)
# 彩色图片转换为灰度图片
first2 = cv2.cvtColor(first2, cv2.COLOR_BGR2GRAY)
# 高斯模糊,目的是去除一些噪点
first2 = cv2.GaussianBlur(first2, (21, 21), 0.5)
# 21,21 为高斯窗格,最后一个参数为模糊参数,越大模糊约严重

# 对两张图片进行对比
chayi = cv2.absdiff(first2,first1)
# 再次进行高斯模糊
img = cv2.GaussianBlur(chayi,(21,21),0.5)

# # 边缘检测
canny = cv2.Canny(img, 40, 200)


# 将检测出的异常和原图进行叠加
canny_a = cv2.add(first1,canny)

# 保存识别图片
cv2.imwrite('pred.jpg',canny_a)

结果

因为,对图片进行了灰度转换,我这里又没有转换回去,所以图片看起来是灰色的,通过CV2的对比图片,可以看到钥匙链上的掏耳勺旁边有一个浅浅的印记,这里就是边缘识别出的差异,有点淡的可能是参数设置的问题。

结束语

love & peace

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火星娃统计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CV2 学习
  • 概述
  • 代码
  • 结果
  • 结束语
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档