图像处理

Python 图像处理 OpenCV (5):图像的几何变换

一笑奈何 提交于 2020-08-07 19:57:01
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python 图像处理 OpenCV (3):图像属性、图像感兴趣 ROI 区域及通道处理」 「Python 图像处理 OpenCV (4):图像算数运算以及修改颜色空间」 图像缩放 图像缩放只是调整图像的大小,为此, OpenCV 为我们提供了一个函数 cv.resize() ,原函数如下: resize ( src , dsize , dst = None , fx = None , fy = None , interpolation = None ) src 表示的是输入图像,而 dsize 代表的是输出图像的大小,如果为 0 ,则: dsize = Size(round(fx*src.cols), round(fy*src.rows)) \texttt{dsize = Size(round(fx*src.cols), round(fy*src.rows))} dsize = Size(round(fx*src.cols), round(fy*src.rows)) dsize 和 fx 、 fy 不能同时为 0 。 fx 、 fy 是沿 x 轴和 y 轴的缩放系数,默认取 0 时,算法如下:

基于ZYNQ的机器视觉应用实例

核能气质少年 提交于 2020-08-07 19:31:52
什么是机器视觉 机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟与数字视频技术、计算机软硬件技术(图像增强和分析算法、图像卡、I/O卡等)。一个典型的机器视觉应用系统包括图像捕捉、光源系统、图像数字化模块、数字图像处理模块、智能判断决策模块和机械控制执行模块。 机器视觉在工业市场的应用 用机器视觉技术取代人工,可以提供生产效率和产品质量,因此机器视觉技术广泛应用于工业检测(机械零部件的尺寸和位置测量)、机器人视觉、人脸识别、车牌识别、自动光学检查、无人驾驶汽车、追踪定位等领域。 如何实现机器视觉 工业机器视觉系统包括:光源、镜头(定焦镜头、变倍镜头、远心镜头、显微镜头)、相机(包括CCD相机和COMS相机)、图像处理单元(或图像采集卡)、图像处理软件、监视器、通讯/输入输出单元等。 其中图像处理单元,又可以称为图像采集卡,是完整的机器视觉系统的一个部件,但是它扮演一个非常重要的角色。图像采集卡直接决定了摄像头的接口(黑白、彩色、模拟、数字)、图像的处理、图像的输出形式等。 Tronlong推出的基于Xilinx Zynq-7000 SoC的TLZ7x-EasyEVM评估板能够很好的满足工业机器视觉的图像处理单元功能。 TLZ7x-EasyEVM评估板芯片选型XC7Z020,兼容XC7Z010,集成PS端单核/双核Cortex-A9 ARM

创龙TL665xF-EasyEVM开发板硬件说明书(1)

被刻印的时光 ゝ 提交于 2020-08-07 16:44:22
前 言 广州创龙结合TI KeyStone系列多核架构TMS320C665x及Xilinx Artix-7系列FPGA设计的TL665xF-EasyEVM开发板是一款DSP+FPGA高速大数据采集处理平台,其底板采用沉金无铅工艺的6层板设计,适用于高端图像处理、软件无线电、雷达声纳、高端数控系统、机器视觉等高速数据处理领域。核心板在内部通过uPP、EMIF16、SRIO通信接口将DSP与FPGA结合在一起,组成DSP+FPGA架构,实现了需求独特、灵活、功能强大的DSP+FPGA高速数据采集处理系统。 TL665xF-EasyEVM开发板引出CPU全部资源信号引脚,二次开发极其容易,客户只需要专注上层运用,降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。创龙不仅提供丰富的Demo程序,还提供DSP核间通信、DSP与FPGA间通讯开发教程以及全面的技术支持,协助客户进行底板设计和调试以及多核软件开发。 1.处理器 基于TI KeyStone C66x多核定点/浮点DSP TMS320C665x + Xilinx Artix-7 FPGA处理器,TMS320C665x主频为1.0G/1.25GHz,单核运算能力高达40GMACS和20GFLOPS,FPGA XC7A100T逻辑单元101K个,DSP Slice 240个拥有多种工业接口资源,其CPU功能框图: 图 1 图

js获取图片的EXIF,解决图片旋转问题

徘徊边缘 提交于 2020-08-07 07:26:51
相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转。当时的你肯定时懵逼的,为毛。 其实这就是图片的EXIF搞的鬼。 什么是EXIF 简单来说,Exif 信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的 JPEG/TIFF 文件的头部,也就是说 Exif信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,它就好像是傻瓜相机的日期打印功能一样,只不过 Exif信息所记录的资讯更为详尽和完备。Exif 所记录的元数据信息非常丰富,主要包含了以下几类信息: 拍摄日期 摄器材(机身、镜头、闪光灯等 拍摄参数(快门速度、光圈F值、ISO速度、焦距、测光模式等 图像处理参数(锐化、对比度、饱和度、白平衡等) 图像描述及版权信息 GPS定位数据 缩略图 这里面就包含了图片的角度信息,就是说你用手机拍照时是不是倒着拍还是侧着拍,这些都是有记录的。 接下来就是教大家怎么获取图片内的exif信息 先给大家看看exif信息都存在哪里:(角度就在0x0112) // 这里的获取exif要将图片转ArrayBuffer对象,这里假设获取了图片的baes64 // 步骤一 // base64转ArrayBuffer对象 function base64ToArrayBuffer(base64) { base64 = base64

学习python最离不开的库,你都知道哪个?

懵懂的女人 提交于 2020-08-07 01:25:58
  python是很多人都喜欢学习的编程语言,语法简单、清晰、优雅、通俗易懂,对初学者非常友好,对于没有任何基础的人想要转行编程,都会选择python。更重要的是python具有丰富的第三方库,python帮助我们完成各种各样的事情。那么你知道python的哪些库呢?一起来看看吧。   Arrow:Arrow是非常方便和智能的,可以轻松地定位几个小时的时间,轻松转换时区的时间,对于一个小时前,2小时之内这样人性化的信息也能解读。   Behold:调试程序对于程序员很重要,对于脚本语言,很多人习惯用print进行调试,而对于大项目来说,它远远不够,人人都想要轻松,调试方便,那么Behold是非常合适的选择。   Click:对于命令行API进行大量封装,你可以轻松开发出属于自己的CLI命令集。终端的颜色,环境变量信息,通过Click都可以轻松进行获取和改变。   Numba:从事数据方面的工作,Numba是不能缺少的。通过高速C库包装python接口中来工作, Numba无疑 是最方便,它允许使用装饰器选择性地加速Python函数。   Pillow:图像处理,调试画面颜色、饱和度、调整图像尺寸、裁剪图像等,这些都可以通过python来完成,使用的就是Pillow。   Pygame:专门为了游戏开发推出的python库,你可以轻松的开发出一个游戏,封装了几乎常用游戏框架的所有功能

图像处理-激光测距技术&工业相机基本原理概述

谁说我不能喝 提交于 2020-08-07 00:41:18
1.0 激光测距的优势: 激光测距技术与一般光学测距技术相比,具有操作方便、系统简单及白天和夜晚都可以工作的优点. 与雷达测距相比,激光测距具有良好的抗干扰性和很高的精度,而且激光具有良好的抵抗电磁波干扰的能力,尤其在探测距离较长时,激光测距的优越性更为明显. 激光测距技术是指利用射向目标的激光脉冲或连续波激光束测量目标距离的距离测量技术. 比较常用的激光测距方法有脉冲法、相位法、三角法和干涉法激光测距. 本文主要探讨下激光三角法的基本原理和工业相机原理: 1.1 激光三角法的基本原理 光电技术的快速发展,以及计算机的高速发展,数字处理技术的发展等等促使形成了三角激光测距技术.三角法激光测距系统拥有光源、待测物和图像接传感器,分别放置在三个点上,构成三角形的几何结构,所以称为光学三角法基本原理如图2.1所示,由激光器发射出一束激光入射到待测物体表面后发生漫反射,反射光经成像镜透镜聚焦,成像在图像传感器的光敏器件上,再通过计算机得到光斑的图像信息,最后经数字处理计算出光斑中心位置. 在进行测量前一般有如下几步骤: 1.准直镜头 激光平行光学入射 2.对焦 即在基准面上观察光斑位置 是否在基准面原点位置 或在 X轴的轴线位置 3.基准面为一十字交叉的线条为相机软件显示 4.标定相机 该图激光线测量物体三维信息的示意图。图中: i 为入射光;L 为透镜;N 为成像屏; u 为透镜L

宜信OCR技术探索与实践|直播速记

随声附和 提交于 2020-08-06 21:10:42
宜信OCR技术探索与实践​|直播速记 ​ 宜信OCR技术探索与实践|完整视频回放 ​ ​ ​分享实录 一、OCR概述 1.1 OCR技术演进 传统图像,冈萨雷斯的图像处理。 信号处理、频域分析以及各类算法:SIFT、HOG、HOUGH、Harris、Canny…都很赞。 从2016年以后业界基本上都已经转向深度了,因为效果真的特别好。 1.2 OCR技术商业服务 身份证卡证类相对容易些,但是要做到复杂场景的,也不是那么容易。 发票、业务单据相对复杂,除了识别,更重要的是版面分析。 最近表格识别比较火,各家都在努力实现,微软的开放tablebank数据集 移动端backboneMobileNet,或者是tesseract+opencv 二、我们的业务场景 2.1 业务需求 满足业务是第一需要,不同于大厂,对外服务API,要求大并发那么强,多样性品类完备,我们更强调单品要做到尽量达到业务要求,更强调定制化,可以分布走,业务上可以给反馈不断改进。 2.2 识别过程中需要解决的问题 三、OCR算法详解 3.1 算法概述——分享原则 大家一定要自己弄细节,读代码、甚至自己动手撸,自己训练,调参,排错,才能有真正的体会和理解,只讲我认为每个算法里面不太好理解,重点,以及容易忽略的点,跟同行一起交流,沟通。 一个模型,要全面深入了解,需要: 目标、目的、意义是啥? 网络结构啥样? loss是啥?

智能图像处理为工业4.0应用中的生产工人提供支持

拥有回忆 提交于 2020-08-06 09:17:19
同时,人与机器之间的交互将继续关注人类。鉴于熟练工人的普遍短缺和高标准的工业安全性,对于公司而言,这绝非易事。成功进行流程优化的其他挑战是大量的变体,复杂的任务和流程以及不断提高的质量要求。这怎么能成功?更多信息尽在振工链。 借助辅助系统“ Clever Klaus”,德国OPTIMUM数据管理解决方案公司开发了一种智能解决方案:易于集成,基于摄像头的助手使用数字化来优化和简化手动检查流程。通过使用IDS的高分辨率USB3工业相机和智能数据库结合工业图像识别,该辅助系统可以识别每个步骤,并在整个装配过程中为员工提供实时帮助。根据简单的原则:即使是这些复杂的过程,也可以进行指令-检查-确认-记录 智能装配辅助系统“ Clever Klaus”通过数字装配说明逐步指导员工。工人扫描订单文档,然后开始组装过程。安装在工作台上方的IDS摄像机记录了安装的工件或单个零件。操作说明和错误消息均实时显示在触摸显示器上:在每个成功的工作步骤之后,工作人员会收到确认。组装完成后,系统将提供无故障生产的证据。 Optimum数据管理解决方案有限公司董事总经理Wolfgang Mahanty解释说:“摄像机会产生数字阴影。” 记录和处理过程中的所有数字数据-何时以及如何完成。这样就可以创建知识库并随后将知识转移给所有人。Mahanty总结了对相机的需求时说:

Accord.NET重启4.0 开发

流过昼夜 提交于 2020-08-06 08:59:33
Accord.NET Framework是在AForge.NET基础上封装和进一步开发来的。功能也很强大,因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习这个专业,在其基础上提供了更多统计分析和处理函数,包括图像处理和计算机视觉算法,所以侧重点不同,但都非常有用。 官方网站 : http://accord-framework.net/ 在项目中断2年时间之后,作者 cesarsouza 在2020年5月1日更新了项目状态, 他在欧洲完成博士,虽然他的工作中主要使用Python完成他的工作,但是他喜欢C#/.NET,一直在考虑Accprd.NET的发展问题,5月15日重新设定了4.0 版本的路线图 https://github.com/accord-net/framework/issues/2123, 其中他写道:“我看到这个项目仍然被认为对许多人有用,我不认为让项目消亡符合任何人的利益。我最初认为这个项目将由ML.NET取代,但事实并非如此。我们可以转换框架,转而与它合作。” 我们在ML.NET的最初宣布文章中有Accord.NET的影子: CNTK 已经死了,目前只有 Tensoflow.NET在蓬勃发展,发展的情况很不错,随着Accord.NET的加入,这个生态又重新激活,期待大家一起加入,推动.NET机器学习生态的发展

Django开发了个人博客以及开通公众号

a 夏天 提交于 2020-08-06 06:51:04
2020年6月更新 时隔3年,第一次发这篇文章的时候还在学校,现在已经工作两年了。 业余时间不务正业又拾起了Django,写了一个更加适合学习图像处理的小网站,欢迎体验。 CVPy-CVStudio: cvpy.net 。 网站目前有两个值得一说的特点: 可以上传自己的图片查看某种图像处理程序的效果。 可以调整参数,查看不同参数的作用。 域名服务器之类的麻烦事刚搞定,内容还不是很多,仍在完善中… 以下为三年前的内容,仅更新了网址和图片 学习Django 之前在CSDN这里发布的内容大部分都是基于C++语言的,最近稍微深入多学了一下Python,也可以用Python做一些事情了,比如web开发。其实这跟我的专业没啥关系,主要是玩玩。业余时间在学Django。 按照学习Django的惯例,一般最基础的教程就是写一个博客系统,我的第一个项目已经部署在PythonAnywhere了,大部分基础功能已经实现。但是还有一些功能还不能用或者不好用,比如文章详情页的上一篇下一篇功能,比如评论的重复提交问题,都还没有解决。现在只能说只是有一个雏形吧。 里面现在还没啥东西,只有一篇测试文章。而且只有主页和文章详情页能进去。大家可以去看看,测试下评论功能、点赞功能啥的。初学,欢迎提建议和指导。 网址: 自己写的博客网站 看起来大概这样: 微信公众号 申请了一个微信公众号玩玩