OpenCV作业及近阶段学习总结

作业描述

不太理解为啥不让用OpenCV的API,明明可以直接可以一行代码搞定。。。。。

numpy代码如下:

  • 均值滤波
import cv2
import numpy as np# 均值滤波
def mean_filter(img, K_size=3):H, W, C = img.shape# zero paddingpad = K_size // 2out = np.zeros((H + pad * 2, W + pad * 2, C), dtype=np.float)out[pad: pad + H, pad: pad + W] = img.copy().astype(np.float)tmp = out.copy()# 滤波过程for y in range(H):for x in range(W):for c in range(C):out[pad + y, pad + x, c] = np.mean(tmp[y: y + K_size, x: x + K_size, c])out = out[pad: pad + H, pad: pad + W].astype(np.uint8)return out# 读取图像
img = cv2.imread("imori.jpg")
# 均值滤波
out = mean_filter(img, K_size=3)
# 保存结果
cv2.imwrite("out1.jpg", out)
  • 中值滤波
import cv2
import numpy as np# 中值滤波
def median_filter(img, K_size=3):H, W, C = img.shape    pad = K_size // 2out = np.zeros((H + pad*2, W + pad*2, C), dtype=np.float)out[pad:pad+H, pad:pad+W] = img.copy().astype(np.float)tmp = out.copy()# 滤波过程for y in range(H):for x in range(W):for c in range(C):out[pad+y, pad+x, c] = np.median(tmp[y:y+K_size, x:x+K_size, c])out = out[pad:pad+H, pad:pad+W].astype(np.uint8)return out# 读取图像
img = cv2.imread("imori_noise.jpg")
# 中值滤波
out = median_filter(img, K_size=3)
# 结果保存
cv2.imwrite("out2.jpg", out)

近阶段学习总结

一时间不知道该写什么了,先总结OpenCV学习的一些内容吧。

OpenCV更多的是对图像的处理,用起来确实很方便,基本上用几行代码就可以完成看似很难完成的工作。其中的知识点在原理方面感觉很难懂,每次学习原理的时候感觉这都是讲的啥?但是一到代码,看到讲了这么多,一两行代码就搞定了,人懵了。。。。

OpenCV的内容:

首先就是图像的基础操作:读取、显示、保存;绘制几何图形;获取像素点、属性等;还有几何变换、形态学操作、图像平滑、边缘检测、轮廓检测等方面的内容;后面在图像特征提取与描述方面,学习了一系列算法:Harris、shi-tomas实现角点检测;sift、sufr算法实现尺度不变特征转换;fast、orb算法提高了特征检测的效率;LBP和HOG特征算子用来描述图像局部特征;后面学习了opencv中的视频操作,主要利用meanshift和camshift算法;最后的人脸检测案例结束了opencv的学习。

近阶段的感悟:

CSDN博客是我使用最久的博客区域,在之前我尝试过利用git自己搭建属于自己的博客专区,但是打卡太卡了,后面我又尝试了简书、博客园等,但是总感觉用的人很少,每次我用百度搜索我不会的知识点时,CSDN的文章是第一个搜索结果,这样让我更加依赖CSDN了,并将它当做我记录学习过程的一个地方。

起初大一、大二、大三我是学习Java的,感觉刚刚踏入Java的大门,并且都打算以后从事这方面的工作;大三下学期准备考研,备考了9个月的时间,一度感觉考不上了,幸运的是大四上学期我被保送了研究生,然后选择的导师是从事深度学习、计算机视觉、人工智能等领域,我就明白我可能真要与Java说再见了。

从接触Python人工智能方面已经过了小半年了,刚开始一直不清楚学习的方向,甚至不明白人工智能、机器学习、深度学习的关系,还有Numpy、Pandas、SciPy、Scikit-Learn、Matplotlib的关系,一切都是那么的陌生!刚开始真的比较困难,但是一旦坚持走上这条路,就会发现后面的学习方向越来越清晰,一些关系网也更加的了如指掌。最开始学的Python入门,实际有了Java的基础,没必要一点一点的看,都是类似的代码;然后就是跟着唐宇迪的唐宇迪-python数据分析与机器学习实战学习了Numpy、Pandas、SciPy、Scikit-Learn、Matplotlib;之后就是机器学习的一些算法:分类算法:决策树、KNN、Adaboost、随机森林、朴素贝叶斯、XGboost等;聚类算法:KMeans、GMM、DBSCAN;还有PCA降维等一方面的内容。上述学起来确实很枯燥,算法甚至还不太懂,但是稍微了解其中的原理还是有必要的;后面跟着黑马的课程资料学习了深度学习:tensorflow、神经网络、损失函数、优化方法、正则化;进阶有卷积神经网络(CNN)。然后就是图像分类,目标检测、目标分割这些计算机视觉方面的内容及算法。再到最近几天学习的OpenCV及图像处理,让我感觉确实进入了人工智能的大门。

之后的一段时间(也许一两个月)就要暂时更新学习的内容了,因为学习到这已经给我毕业设计的实现提供了方向和技术基础,接下来的一段时间就要专心完成毕业设计及论文写作,学习永无止境,希望大家在学习的道路上一步步变强,早日成为大佬,哈哈哈哈!

OpenCV作业及近阶段学习总结相关推荐

  1. 谈谈我的高中阶段学习情况以及大学现状,还有对未来的规划和憧憬

    谈谈我的高中阶段学习情况以及大学现状,还有对未来的规划和憧憬 作者:Luosd     时间:2017年春节 光阴似箭,日月如梭,正是经历了这些年的光阴,才真正懂得了这句话是多么的正确,回首过去,仿佛 ...

  2. 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day6

    <团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day6 一.项目燃尽图 二.项目进展 [20172301郭恺第六天的进展] 第五天完成的任务: 点击牌会抬起.选中牌的图 ...

  3. 毕业设计 : 车牌识别系统实现【全网最详细】 - opencv 卷积神经网络 机器学习 深度学习

    文章目录 0 简介 1 车牌识别原理和流程 1.1 车牌定位 1.2 基于图形图像学的定位方法. 1.3 基于机器学习的定位方法. 1.4 字符分割 1.5 字符识别 2 基于机器学习的车牌识别 2. ...

  4. python模块cv2人脸识别_手把手教你使用OpenCV,Python和深度学习进行人脸识别

    使用OpenCV,Python和深度学习进行人脸识别 在本教程中,你将学习如何使用OpenCV,Python和深度学习进行面部识别.首先,我们将简要讨论基于深度学习的面部识别,包括"深度度量 ...

  5. 如何用 OpenCV、Python 和深度学习实现面部识别?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 Face ID 的兴起带动了一波面部识别技术热 ...

  6. 作业——Windows核心编程学习手札系列之五

    作业 --Windows核心编程学习手札系列之五 Windows提供作业内核对象,可以将进程组合在千毫 ,并创建一个"沙框"以便限制进程能够进行的操作.作业可视为进程的容器,win ...

  7. OpenCV运行对象检测深度学习网络的实例(附完整代码)

    OpenCV运行对象检测深度学习网络的实例 OpenCV运行对象检测深度学习网络的实例 OpenCV运行对象检测深度学习网络的实例 #include <fstream> #include ...

  8. 2018年计算机职称考试冲刺,2018年中级会计职称考试冲刺阶段学习计划

    2018年中级会计师考试冲刺阶段复习时间段是8月12日至9月8日.经过前面一段时间的复习,相信考生已经对全书的内容有了一定的了解和掌握.在此小编为大家总结了2018年中级会计职称考试冲刺阶段学习计划, ...

  9. 4. 吴恩达机器学习课程-作业4-神经网络学习

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 4. ...

最新文章

  1. 1080 线段树练习
  2. Leetcode 190. 颠倒二进制位 解题思路及C++实现
  3. 【SNN脉冲神经网络】SNN脉冲神经网络的工作原理演示MATLAB仿真带GUI界面
  4. 项目范围管理——知识要点
  5. typescript类型断言
  6. ajax使用html()后样式无效,jquery.ajax使用字符串拼接后内联css样式失效
  7. ArcGIS实验教程——实验十五:拓扑关系创建与编辑
  8. windows连接远程服务器报错‘SSH‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案
  9. 修复/boot及/etc/fstab、自制linux、编译安装内核
  10. 计算机桌面无法新建文件夹,桌面新建的文件、文件夹都无法显示
  11. python调用按键精灵插件_[良心教程]分享最新最实用的按键精灵封装函数
  12. java技术分享些什么,大牛最佳总结
  13. 垂直广告是什么意思_广告新趋势——内容为王 垂直细分
  14. 谷歌 kaptcha 图片验证码使用教程
  15. 里氏代换原则(企鹅是不是鸟!)
  16. 计算机整理碎片有用吗,电脑磁盘碎片整理有什么用?需要经常整理吗?
  17. Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置
  18. 数学三次危机(三)“希帕索斯悖论”或“毕达哥拉斯悖论”
  19. 点评中国互联网CEO语录
  20. FlinkCEP的底层理论:NFA-b Automaton原理介绍

热门文章

  1. 自动化运维saltstack 安装部署以及一键部署实现负载均衡
  2. Swift - 获取状态栏一些信息
  3. CSS处理图片渲染时拉伸和挤压变形
  4. KJava在移动设备中的应用
  5. Java学习-MVC架构模式
  6. 三丰三坐标编程基本步骤_零基础学习工业机器人PLC编程的基本步骤
  7. 【重磅】CSIG-广东省CVPR 2021论文预交流在线学术报告会来啦! (5月8日)
  8. 高通开发系列 - System之FOTA和DFOTA升级记录
  9. 老年机按键串号_老人机怎么打字母
  10. idea中surround with快捷键