2018-10-16 08:27:01 qq_33810188 阅读数 348
  • Tensorflow-图像处理视频教程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程以图像处理软件Tensorflow作为核心武器,基于图像处理热点话题进行案例实战。选择当下热门模型,使用真实数据集进行实战演示,通俗讲解整个算法模型并使用tensorflow进行实战,详解其中的原理与代码实现。

    1241 人正在学习 去看看 唐宇迪

· 能从硬件结构方面消除不利影响,最好不要从图像算法方面消除不利影响(预防隐患法则)

· 截至目前为止,图像算法没有一个标准的算法流程适合所有的图像处理,所以具体问题具体分析

· 图像算法处理的实际应用遵循海森堡不确定性原则,所以在实际应用中不断优化算法十分必要

· 图像算法处理的实际应用符合墨菲定律,所以图像算法前期的设计隐患一定会在实际应用中产生

· 图像处理算法一定是定量分析算法,模糊不定的处理方式必然会导致问题

· 图像处理问题归根结底是一个数学问题,所以扎实的数学功底必不可少!

---------------------------------------------------------------------------------------------------------------

1.图像算法的设计一定要考虑数据结构类型,不友好的数据结构会使后续的代码结构十分繁琐冗余!

2.无论函数名,还是参数名,在取名的时候千万避免名称相似(例如,如果有一个camsPixels,不可再取一个camPixels,否则在查看代码时,直观上很容易分辨错误!浪费解读代码时间!);

3.不要重复命名函数,否则哪天封装多个带有重复名称的函数时,会出现命名冲突!

4.尽量不要重复造轮子,能够借鉴的代码要借鉴并优化,不断学习别人的代码风格和代码逻辑;

5.一位优秀的算法工程师,也必须是一位不错的软件工程师!

6.

 

 

2015-10-06 18:37:10 jaych 阅读数 2287
  • Tensorflow-图像处理视频教程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程以图像处理软件Tensorflow作为核心武器,基于图像处理热点话题进行案例实战。选择当下热门模型,使用真实数据集进行实战演示,通俗讲解整个算法模型并使用tensorflow进行实战,详解其中的原理与代码实现。

    1241 人正在学习 去看看 唐宇迪

最近刚接触图像算法开发,而且也是手机端的图像算法开发,一上来导师就给说说图像算法开发的过程。

图像算法开发跟普通程序的软件算法开发又不一样,图像算法主要是关注如何对图像进行处理,也就是关注的优化的对象不一样。

图像算法开发过程,一般是:
1)在PC端进行算法验证,达到所要实现的功能。因为在PC端能够更好的进行算法调试,确保功能实现。
2)PC端的优化,将算法优化到最佳状态。
3)算法移植到手机平台上,实现算法功能。
4)移动端算法优化,进行C/C++代码优化,NEON优化等等。后续将对如何进行代码优化进行总结。

在整个过程中,对算法的理解十分重要,而如何进行代码优化,NEON优化是算法实现的难点。

后续通过各种算法的实践、联系、总结,不断的加深理解。

2016-07-03 21:03:51 qq_26499769 阅读数 10151
  • Tensorflow-图像处理视频教程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程以图像处理软件Tensorflow作为核心武器,基于图像处理热点话题进行案例实战。选择当下热门模型,使用真实数据集进行实战演示,通俗讲解整个算法模型并使用tensorflow进行实战,详解其中的原理与代码实现。

    1241 人正在学习 去看看 唐宇迪
之前见了一些文章讨论了一些有趣的图像处理算法
下面总结列出:

在研究的过程中,有时候会碰到很多有意思的图像处理算法,算法极具新意,并且能够产生非常有意思的结果。

算法简介
1、图像镶嵌

图像镶嵌也叫图像混合(Image Blending)、图像剪接(Image Editing),是通过特定的图像处理方法将本来毫无关系的两幅图无缝剪辑到一起,并能够很好地融合两者之间的剪接处,产生以假乱真的效果,不信我们就来看看。

上图左边的手和嘴巴在两幅不同的图中,只要给定一个模板,就可以把一幅图中模板指定的部分无缝拼接到另外一幅图中去,从右边的结果来看是不是看上去毫无违和感?比某些人的PS技术强多了。

类似剪接效果的还有下面这种技术,该算法同样也是划定一个区域,能够将两幅图中的指定区域图像都拿出来,拼接到第三幅图上去,结果简直天衣无缝。这两个算法的技术细节可看参考文献[1][2]。同样也可以参考这位小哥的代码

2、黑白图像着色

家里有黑白的老照片,想把它变成彩色照片,看看老一辈人真实的模样,那你可以试试下面这个图像着色(Colorization)算法。你只要拿彩笔在图像上画几笔,剩下的事情就交给算法啦。这个算法除了给黑白图片着色,还能够给视频着色呢!不信就去文献[3]看看。

3、图像超分辨

还记得小时候的红白机画面么,分辨率很低,如果放大的话,渣渣的马赛克就来了,想不起来了?想想《愤怒的小鸟》那个游戏里面马赛克小鸟,实在让人心塞,如果用了这个算法效果绝对就不一样了。该超分辨算法能够将分辨率非常低的图像提取与分辨率无关的向量,最后的高分辨率图像真是碉堡了,完虐普通的最近邻插值法放大的图像。还有人提供了Python源代码呢。

4、图像去模糊

拍照片的时候手抖,拍出来的照片模糊了怎么办?可以背个三脚架,或者花钱升级相机,变成防抖的。或者你也可以使用以下的图像处理方法,拍完之后处理,就可以得到清晰的图像了。说不定哪一天珍贵的一瞬间拍模糊了,还能用来救救急。

5、图像编辑

要是拍照的时候把不需要的物体拍进来了,破坏了照片美好的意境怎么办?此时,你可能需要这种图像处理技术[6][7]:将图像中意外出现的东西去掉!看下图,前提是要指定需要去掉的区域(中间一幅Mask图像)。

如果拍上去的建筑物看上去破破烂烂的,想填补一下这个破洞,或者想干脆在图像中再复制同一个物体,可以试试下面这个方法[7][8]。顺便说一句,这两个方法都应用到了PhotoShop上了。


参考文献

[1] Peter J. Burt and Edward H. Adelson. 1983. A multiresolution spline with application to image mosaics. ACM Trans. Graph. 2, 4 (October 1983)

[2] Patrick Pérez, Michel Gangnet, and Andrew Blake. 2003. Poisson image editing. ACM Trans. Graph. 22, 3 (July 2003)

[3] Anat Levin, Dani Lischinski, and Yair Weiss. 2004. Colorization using optimization. ACM Trans. Graph. 23, 3 (August 2004)

[4] Johannes Kopf and Dani Lischinski. 2011. Depixelizing Pixel ArtACM Transactions on Graphics (Proceedings of SIGGRAPH 2011).

[5] Xu, Li, and Jiaya Jia. 2010. Two-phase kernel estimation for robust motion deblurring.ECCV. Springer Berlin Heidelberg, 2010. 157-170.

[6] Image Completion

[7] Y. Wexler, E. Shechtman and M. Irani "Space-Time Video Completion" Computer Vision and Pattern Recognition (CVPR), Washington, June 2004.

[8] Connelly Barnes, Eli Shechtman, Adam Finkelstein, and Dan B Goldman. 2009.PatchMatch: a randomized correspondence algorithm for structural image editing. ACM Trans. Graph. 28, 3, Article 24 (July 2009)

[9] Connelly Barnes, Eli Shechtman, Dan B Goldman, The Generalized PatchMatch Correspondence Algorithm, ECCV, 2010





还有一篇:


一、像素图生成向量图的算法

数字时代早期的图片,分辨率很低。尤其是一些电子游戏的图片,放大后就是一个个像素方块。
Depixelizing(http://research.microsoft.com/en-us/um/people/kopf/pixelart/)算法可以让低分辨率的像素图转化为高质量的向量图。

二、黑白图片的着色算法

让老照片自动变成彩色的算法(http://www.cs.huji.ac.il/~yweiss/Colorization/)。

三、消除阴影的算法

不留痕迹地去掉照片上某件东西的阴影的算法(http://www.cs.huji.ac.il/~danix/ShadowRemoval/index.html)。

四、HDR照片的算法

所谓"HDR照片",就是让明亮处变得更亮、让阴暗处变得更暗,从而让照片产生强烈的对比效果。

实现HDR的软件有很多,这里推荐G'MIC(http://gmic.eu/)。它是GIMP图像编辑软件的一个插件,代码全部开源。

五、消除杂物的算法

所谓"消除杂物",就是在照片上划出一块区域,然后用背景自动填补。Resynthesizer可以做到这一点,它也是GIMP的一个插件。

六、自动合成照片的算法


根据一张草图,选择原始照片,然后把它们合成在一起,生成新照片(http://www.scriptol.com/design/sketchtophoto.php)。

七、美容算法

自动对容貌进行"美化"的算法(http://www.scriptol.com/programming/algorithm-pretty-face.php)





2019-02-25 15:07:47 dyq1995 阅读数 1945
  • Tensorflow-图像处理视频教程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程以图像处理软件Tensorflow作为核心武器,基于图像处理热点话题进行案例实战。选择当下热门模型,使用真实数据集进行实战演示,通俗讲解整个算法模型并使用tensorflow进行实战,详解其中的原理与代码实现。

    1241 人正在学习 去看看 唐宇迪

下面简要分析了 FPGA 技术,包括 FPGA 技术原理和技术特点等,随后介绍一下FPGA 的图像处理系统算法的实现,包括存储模块、运算单元、控制模块以及数据传输模块等内容。

智能机器人、多媒体已经计算机的诞生都离不开数字图象处理技术,随着计算机智能化图像处理技术的不断发展,几乎所有领域当中都有数字图象技术的身影。例如军事、公共安全、工业、航天航空、卫星遥感以及生命科学等各种领域。因此对图象处理技术的要求也逐渐提高,需要数字图象设计朝着高效性和时效性的方向发展,FPGA技术下的图像处理系统算法越来越受到重视。

1、FPGA技术原理

FPGA通常包括两个部分,分别是储存编程数据的软件SRAM和三项可编程电路,这三种可编程电路分别是互连资源、输入模块、输出模块和可编程逻辑模块。FPGA中主要部分就是可编程逻辑模块,这一模块能够落实逻辑功能,同时还可以参考设计要求,灵活选择设置或是连接,从而实现各种逻辑功能。而输送模块则是芯片与外部环境进行连接的主要通道,能够促进内部逻辑阵列和器件引脚的连接,同时实现各种电气特征下的输送功能要求。芯片四周通常会排列IOB。

2、FPGA技术特点

FPGA既包含ASIC中的高度可靠性、高集成度和大规模等优势,同时还包括ASIC设计中灵活性差、投资大、设计时间长等问题,
除了上述优势外,FPGA还包括下面几项优点,首先是FPGA能够反复进行擦除和编程。在外部电路保持不变的状态下,通过设计不同逻辑可以完成各种电路功能。其次是投资较小,同时设计比较灵活,在发现问题后可以对设计直接进行更改,从而降低了投片风险程度。

3、FPGA的图象处理系统算法的实现

图像算法处理系统中的存储模块能够将提前准备好的图象数据进行存储,运算单元负责各项计算任务,促进实现各种图像处理算法,只需要将其中的数值进行更换即可。控制模块负责图像算法处理系统中的各种控制工作,辅助图像算法实施,并进行传输。

3.1、存储模块

随着FPGA技术的不断发展,从前众多优秀设计人员留下了大量数字系统成果。为了让其中部分成果能够有效应用于Altera特定设
备结构中,并进行有效应用,Altera企业根据Altera设备中的结构特征在上述成果的基础上进行了有效的优化,从而形成一种LPM
函数和可参数化模块,为此设计人员需要参考相应的设计要求,通过硬件或是图形将语言模块中功能板块恰当地表述出来,并设置好一定的参数,尽量贴近系统要求。在这种设计模式下,能够提升设计效率和可靠性。

3.2、运算单元

运算单元的工作其实就是输出数据信息、落实数字图像算法和读取ROM数字图象中的灰度信息。当一个是三乘三中值邻域滤波器模板对目标图象进行作用时,首先应该了解这一滤波器中的九个数据信息,随后才能更好地使用中值滤波算法,而ROM中所储存的灰度数据主要可以在Verilog HDL的编程下,将其中的具体数值解读出来,同时FPGA技术下的编程工作中是不存在二维数组理念的,为此主要是通过移位寄存器RAM来储存IP核的,并落实邻域图象处理操作,实现各种数字图像处理算法。在一个全面的系统设计当中,例如设计DSP应用系统,需要通过数据缓冲移位寄存器,以移位寄存器RAM为基础的IP核就是一种高效的处理措施。以移位寄存器RAM为基础的IP核属于一种参数化的移位寄存器,同时TAPS值在一定程度上也影响了系统中移位寄存器在一时间点中的输出数据总路数,这种IP核十分适用于有限冲击响应滤波器和线性反馈寄存器。对于以移位寄存器RAM为基础的IP
核想要发挥出应有的作用,就应该先为IP核进行适当的参数设置,主要包括所有TAP的对应数据深度、TAP输出路数、shiftout端
口宽度、shiftin数据宽度、RAM模块类型等。

3.3、控制模块

控制模块在整个系统中是一种核心部件,可以辅助系统的运行,同时融入到整个系统内部。主要负责工作包括辅助运算单元在
ROM中准确读取数据信息,操作运算单元落实图像处理算法,帮助运算单元和数据传输子系统进行信息流通等。

3.4、数据传输模块

数据传输模块其中包含两部分内容,分别是串口通信模块和FIFO传输模块。将图像处理子系统中的时钟设置成五十毫赫兹,将串口通信模块设置成九千六百赫兹波特率。为此可以通过异步FIFO促进图像通信模块和子系统串口之间的跨时钟数据传播,联系。为了让图像算法子系统和上位机PC之间的通信过程更加便捷,通常都是通过通信串口进行数据信息交流。

通过FPGA技术进行图象处理,能够拥有更多的使用优势,比如成本较低、方便落实以及适用范围较广等特点。同时还拥有实时性、集成化、小型化等特点。随着我国微电子技术的发展,图象处理逐渐应用于图象通信以及多媒体等各个领域,而FPGA技术
可以有效促进硬件对实时图象的有效处理,以FPGA技术为基础的图象处理研究也将成为未来信息领域发展的热点。

 

 

 

 

2017-11-24 22:42:45 xxxqcbQ 阅读数 242
  • Tensorflow-图像处理视频教程

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 课程以图像处理软件Tensorflow作为核心武器,基于图像处理热点话题进行案例实战。选择当下热门模型,使用真实数据集进行实战演示,通俗讲解整个算法模型并使用tensorflow进行实战,详解其中的原理与代码实现。

    1241 人正在学习 去看看 唐宇迪

        一直想记录自己图像处理算法修炼心路历程,今天终于鼓足勇气写下第一篇,万事开头难。

        算法写了快4个月了,目前写的比较多的是基础算法,比如通用的圆、直线检测算法,还真不能小瞧这类算法,想在工程上做到又快又准,真的不是一件容易的事情。这里应该算是有bug的,又快又好应当有个明确的量化指标。

        对于圆检测的基本逻辑是:Sobel/Canny算子处理→拿出边界→边界筛选→最小二乘拟合(对噪声很敏感)。


图像处理算法工程师

阅读数 13932

图像处理及算法

阅读数 1760

没有更多推荐了,返回首页