图像处理

基于深度学习的图像边缘和轮廓提取方法介绍

扶醉桌前 提交于 2020-11-26 09:05:39
点击上方 “ 小白学视觉 ”,选择加"星标"或“置顶” 重磅干货,第一时间送达 作者:黄浴 奇点汽车 首席科学家 整理:Hoh Xil 来源: https://zhuanlan.zhihu.com/p/78051407 导读: 边缘和轮廓的提取是一个非常棘手的工作,细节也许就会被过强的图像线条掩盖,纹理(texture)本身就是一种很弱的边缘分布模式,分级(hierarchical)表示是常用的方法,俗称尺度空间(scale space)。以前做移动端的视觉平台,有时候不得不把一些图像处理功能关掉,原因是造成了特征畸变。现在 CNN 模型这种天然的特征描述机制,给图像预处理提供了不错的工具,它能将图像处理和视觉预处理合二为一。 ——边缘提取—— 1. HED 整体嵌套边缘检测( Holistically-Nested Edge Detection,HED 是一个深度学习的边缘提取的算法,两个特色:(1)整体图像训练和预测; (2)多尺度、多层特征学习。该深度模型利用全卷积网络,自动学习丰富的分层表示(基于侧面响应的深层监督指导)。 多尺度深度学习可分为四类,即多流学习(multi-stream)、跳网(skip-net learning)学习、多输入单模型以及独立网训练,如图所示:(a)多流架构; (b)跳网架构; (c)多尺度输入的单一模型; (d)不同网络独立训练; (e

C++ OpenCV模糊图像

做~自己de王妃 提交于 2020-11-26 09:01:06
模糊图像 图像模糊是图像处理中最常用的也是比较简单的操作,使用该操作的原因之一就是为了给图像预处理时隆低嗓声. 卷积 就是叠加.卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。 通俗的说: 在输入信号的每个位置,叠加一个单位响应,就得到了输出信号。 这正是单位响应是如此重要的原因。 卷积的应用 用一个模板和一幅图像进行卷积,对于图像上的一个点,让模板的原点和该点重合,然后模板上的点和图像上对应的点相乘,然后各点的积相加,就得到了该点的卷积值。对图像上的每个点都这样处理。由于大多数模板都是对称的,所以模板不旋转。卷积是一种积分运算,用来求两个曲线重叠区域面积。可以看作加权求和,可以用来消除噪声、特征增强。 把一个点的像素值用它周围的点的像素值的加权平均代替。 卷积是一种线性运算,图像处理中常见的mask运算都是卷积,广泛应用于图像滤波。 卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理中的卷积定理。利用该定理,可以将时间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT等快速算法,实现有效的计算,节省运算代价 用图片来说明 OpenCV中自带了4种模糊算法: blur(均值模糊) GaussianBlur(高斯模糊) medianBlur(中值模糊) bilateralFilter(双边滤波) 新建项目

第一周智能车学习总结

两盒软妹~` 提交于 2020-11-25 14:39:53
智能车技术报告 一、机械结构 1.机械结构制作部分的设计原则 2.对于舵机的改造 3.底盘改造 4.前轮定位 主销后倾 车轮外倾角 转向轮前束 5.长连杆 6.麦克纳姆轮 6.斑马线检测传感器原理 7.坡道检测传感器原理 8.双车接力时测距原理 9.车胎处理 二、控制软件算法 1.对于系统控制总体设计 2.巡线原理 2.1电磁巡线原理 2.2摄像头巡线原理 3.赛道元素处理 3.1十字处理 3.2环岛处理 3.3坡道处理 4.赛道信息获取 4.1电感获取赛道信息 4.2摄像头获取赛道信息 4.2.1图像处理 4.2.2拟合赛道中心线 4.3麦克风获取赛道信息 5.直立控制 总结 1.需要对PID算法深入了解 2.需要对各种算法均有涉及 3.需要学会此文中加粗字体的意思理解及其运用 4.需要对各种赛道元素的软件控制均知其原理并深入 5.需要对电磁及摄像头获取赛道信息进行学习 6.需要熟悉各种数据整合的方法 一、机械结构 1.机械结构制作部分的设计原则 “轻、牢、简”为机械结构的主要原则,且为了提高车模运动性能,对于车轮的位置调整也有很多道理,如车轮前束等。 2.对于舵机的改造 为了提高舵机的反应速度,即在相同的转角下,有尽可能大的线航程,因此需要延长鸵机臂。(但是不知道其原理所在) 3.底盘改造 尽可能的低在保证能通过坡道的情况下,其目的为保证智能车行驶的稳定性。

Xilinx 7系列FPGA概览

我只是一个虾纸丫 提交于 2020-11-25 06:22:22
Xilinx 7系列FPGA概览 文章目录 Xilinx 7系列FPGA概览 1.Xilinx的四个工艺级别 2.Virtex、Kintex、Artix和Spartan 3.7系列特点 4.7系列命名规则 5.7系列资源概括   2015年11月,Xilinx推出Spartan®-7 FPGA系列,新一代产品开始更新,之前两篇文章:   FPGA 主流芯片选型指导和命名规则(一)   FPGA 主流芯片选型指导和命名规则(二)   介绍的FPGA都是比较老的一代,最近才开始关注类似的新闻,这一篇主要介绍下 Xilinx 7系列FPGA。   参考:https://www.cnblogs.com/liujm8421/p/7822905.html https://blog.csdn.net/wordwarwordwar/article/details/52940079?locationNum=1&fps=1   没有文档下载了… 1.Xilinx的四个工艺级别    Xilinx目前主要产品有四个工艺等级,通常情况下,Xilinx的产品每个工艺都会有Spartan、Artix、Kintex和Virtex四个族,如下图所示。   其中45nm工艺的产品Spartan6在国内目前应用还是比较广的,可能因为Xilinx高端芯片对国内“🈲”,其余产品均已“下架”

MIT missing-semester系列课程概览与shell

▼魔方 西西 提交于 2020-11-25 05:49:57
点击上方 “ AI算法与图像处理 ”,选择加"星标"或“置顶” 重磅干货,第一时间送达 https://missing-semester-cn.github.io/2020/course-shell/ 动机 作为计算机科学家,我们都知道计算机最擅长帮助我们完成重复性的工作。但是我们却常常忘记这一点也适用于我们使用计算机的方式,而不仅仅是利用计算机程序去帮我们求解问题。在从事与计算机相关的工作时,我们有很多触手可及的工具可以帮助我们更高效的解决问题。但是我们中的大多数人实际上只利用了这些工具中的很少一部分,我们常常只是死记硬背地掌握了一些对我们来说如咒语一般的命令, 或是当我们卡住的时候,盲目地从网上复制粘贴一些命令。 本课程意在帮你解决这一问题。 我们希望教会您如何挖掘现有工具的潜力,并向您介绍一些新的工具。也许我们还可以促使您想要去探索(甚至是去开发)更多的工具。我们认为这是大多数计算机科学相关课程中缺少的重要一环。 课程结构 本课程包含11个时长在一小时左右的讲座,每一个讲座都会关注一个 特定的主题 。尽管这些讲座之间基本上是各自独立的,但随着课程的进行,我们会假定您已经掌握了之前的内容。每个讲座都有在线笔记供查阅,但是课上的很多内容并不会包含在笔记中。因此我们也会把课程录制下来发布到互联网上供大家观看学习。 我们希望能在这11个一小时讲座中涵盖大部分必须的内容

simpleitk打开dicom文件

心已入冬 提交于 2020-11-25 02:48:02
ITK是一个功能很强大的医学图像处理公开库,搭配VTK用以显示图像,可以实现几乎所有医学图像处理的功能需要。ITK通常以C++包进行提供,当然也可以自己编译为Python包,不过编译过程比较繁琐耗时,而且很容易踩坑。但ITK官方进行的Python封装SimpleITK,则直接可以拿来使用;虽然有部分ITK的功能没有包含,但已基本够用了。我们在处理医学图像时,使用的基本都是SimpleITK。 本文就简单总结一下我们在处理这些图像时的经验,以便备忘,并为后来者参考。 1.读取文件 读取DICOM序列 医学图像中一个CT序列包含很多张图片,即一个case包含许多slice,使用SimpleITK可以直接读取一个序列,并方便地得到各种参数,将图像数据转换成numpy Array: import SimpleITK as sitk import numpy as np reader = sitk. ImageSeriesReader ( ) dicom_names = reader. GetGDCMSeriesFileNames ( case_path ) reader. SetFileNames ( dicom_names ) image = reader. Execute ( ) image_array = sitk. GetArrayFromImage ( image ) # z,

软件工程第一次阅读作业

天大地大妈咪最大 提交于 2020-11-24 20:05:23
这次作业属于哪个课程 | 软件工程 这次作业的要求在哪 | 第一次阅读作业 [toc] ###读后的感想 <span style="color:blue">1.第四章两人合作部分</span> 代码的风格是简明,易读,无二义性。 --引用自 《构建之法》 我是非常赞同这个说法的。我认为我在以后的开发过程中,不会搞艺术,使用一些花里胡哨的或者说贪图简单的命名,应该代码风格规范,使用一些约定的规则。首先代码风格规范可以促进团队合作,其次可以为处理bug降低难度,还可以降低软件后期的维护成本,最后,我觉得规范化也是对自己的一个成长。 <span style="color:blue">1.第四章两人合作部分</span> 在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档等。 --引用自 《构建之法》 文中所描述的这种结对方式,给我一种就是先结婚后培养感情的感觉,两个人在各种因缘际会下,组成了一对。诚然,感情不是朝夕可得,有效的结对编程也不是一天就能做到的。《构建之法》一文中给我们介绍了很多关于结对的好处与适用性,可就目前来说,我觉得从两个人分开写模块变成一个写,一个审查,交替进行的模式,我觉得很新颖

图像处理 | RGB 与 HSI 的互转以及滤波处理

时光毁灭记忆、已成空白 提交于 2020-11-23 09:56:27
1、RGB 图像转 HSI 图像 具体实现步骤: 通过 im2double() 函数将输入图像转成 double 类型并作归一化处理; 双重循环遍历图像的每一个像素点:分别获取 R,G,B 三个分量,带入转换公式进行计算求解。计算公式如下: 1) 函数接口实现: function HSI = myRGB2HSI ( RGB ) % 从RGB颜色空间向HSI颜色空间的转换 % RGB ( uint8 ) : 输入的RGB彩色图像 % HSI ( double ) : 转换后的HSI彩色图像 img1_double = im2double ( RGB ) ; % 转成 double 并作归一化处理 [ r , c , k ] = size ( img1_double ) ; H = zeros ( r , c ) ; S = zeros ( r , c ) ; I = zeros ( r , c ) ; for i = 1 : r for j = 1 : c % 分别获取R , G , B分量 R = img1_double ( i , j , 1 ) ; G = img1_double ( i , j , 2 ) ; B = img1_double ( i , j , 3 ) ; fenzi = 0.5 * ( ( R - G ) + ( R - B ) ) ; fenmu =

计算机视觉算法岗面经,2019秋招资料

旧城冷巷雨未停 提交于 2020-11-22 20:02:48
向AI转型的程序员都关注了这个号 👇👇👇 人工智能大数据与深度学习 公众号:datayx 下面试基本会问的内容,目前个人所碰到的,占比可能有所不同,有些面试官喜欢问项目,有些喜欢问基础。 介绍项目、实习,一般会问很久,在你介绍中会问各种开放性问题;通常我的面试中这个占很大篇幅,60%-90%; 问算法相关,包括ML\DL\图像处理等的基础知识,占40%-60%,其中大概ML40%,DL10%,图像处理10%; 问数学基础,大部分是概率论,占5%; 问语言,C++,STL容器之类的,占10%;python也会问一点; 编程题,一般2、3题; Linux命令,一般问几个,不经常问到; 1、HR面 自我介绍 你和竞争者相比的优势是什么 实习收获了什么 从实习导师身上学到了什么 导师给你的意见是什么 从面试官身上学到了什么 .秋招意向的企业有哪些 你为什么想来我们公司? 你来了之后的三年怎么打算的? 讲一讲实习公司的产品架构,比如一个新的需求产生到落地的流程是怎样? 优缺点 介绍项目,难点,从中学到什么,重新做如何改进 期望薪资 自己主动学习过哪些知识,通过什么方式学的 后面打算学习什么知识,为什么 英语怎么样 兴趣 竞赛、考研保研 团队合作遇到的分歧 有没有投过其他公司,有拿到offer吗? 项目中怎么分工的,有遇到过水平低的吗,是怎么沟通的 对你帮助很大的一个人 学习的路径,怎么学习

招聘|青岛旭升招聘高级软件工程师、3D视觉算法工程师

冷暖自知 提交于 2020-11-21 12:05:55
点击上方“ 3D视觉工坊 ”,选择“星标” 干货第一时间送达 公司介绍: 青岛旭升视觉有限公司是一家专注于机器人 3D视觉引导与工业3D测量领域 的高新技术企业,独立发展且拥有自主知识保护的先进三维物体感测技术,是国内机器人 3D视觉技术最早投入实际生产的公司之一。 职位信息: 部门: 研发技术部 岗位名称: 高级软件工程师 薪水: 面议 工作地点: 山东 青岛 工作职责: 负责搭建 3D视觉软件平台,按照相应的视觉需求文档进行软件产品的研发,产品的编码和测试工作,开发过程中相关设计文档的编写,协助其他3D产品的研发。 职位要求: 1.计算机/软件/通讯/自控等相关专业,本科及以上学历;(可接受应届毕业生和实习生) 2.熟练掌握C#语言,熟悉WPF/Winform等MS框架,熟练掌握多线程等编程技术,熟练掌握VS等编程工具; 3.有计算机图形学基础,能独立完成三维显示及UI交互功能; 4.熟悉常见网口/串口等通讯方式,熟悉Modbus,OPC等工业常用通讯协议者优先;接触和熟悉机器视觉者优先。 5.较好的学习能力,能快速学习掌握工控软件编程的相关技术; 6.较好的问题处理能力及抗压能力,遇到问题能自主寻求办法解决。 岗位名称: 3D视觉算法工程师 薪水: 面议 工作地点: 山东 青岛 工作职责: 参与公司 3D视觉算法的调研、研发、优化,将3D识别、定位、引导