1、开发语言对比
OpenCV开发语言是C++、C#(emgu)、Python、Ruby、MATLAB等语言;Halcon开发语言是C,C++,C#,Visual basic和Delphi等语言。
2、应用场合对比
OpenCV侧重计算机视觉领域,侧重研究领域;Halcon侧重机器视觉领域,侧重应用领域。
3、开放性及版本更新速度对比
OpenCV开源(可看底层源码),版本和功能更新慢;Halcon商业软件(底层代码封装),版本和功能更新快。
4、对使用者的门槛对比
OpenCV偏科研,有难度,有深度,完全从底层开发,对使用者门槛高,开发效率低,开发慢;Halcon偏工程应用,使用封装好的功能函数,对使用者门槛低,开发效率高,开发快
5、资料及技术支持对比
OpenCV资料少。遇到问题,难以获得技术支持;Halcon资料多。遇到问题,可以及时、有效地获得技术支持。
灰度直方图是图像中像素灰度集的一种统计反应。它能够描述图像中灰度的分布情况,直观地展现出图像中灰度所占多少。直方图横轴表示像素的灰度范围(比如说 0~255),纵轴表示的是像素的数量或者密度。亮暗、对比度、图像中的内容不同,直方图的表现也会不同。本文主要参考《冈萨雷斯》一书。
有的图像的灰度分布不均匀,出现过亮过暗,或者对比度过低的情况,这样的图像细节不明显,在肉眼观察时会丢失一些信息。这时可以使用直方图均衡技术对图像进行变换,变成肉眼易于分辨的细节分明的图像。
图像是离散的,所以实际中使用的是离散形式
那么使用上面的公式,就可以将直方图变换成这个样子,这样的图像一般具有比较好的细节表现。
一般来说,直方图均衡能够自动地确定变换函数,且输出结果比较好,当时需要自动增强时是一种好方法。但有的情况下,使用直方图均衡并不是最好的办法。有时候我们可以指定特定的直方图,而不是均匀分布的直方图,并让原图像的直方图变换成我们指定的形式。这个过程称为直方图匹配或者直方图规定化。
在推导过程中,直方图规定化的过程如下:
1对原图像进行直方图均衡。和上面一样。
2对事先规定的直方图也进行均衡。z为最终输出图像像素的灰度值。
我这里做个图解释一下
同样的,写成离散形式。
感觉OpenCV在直方图处理这方面并不怎么走心。这里使用的是另一篇 博客 的类封装和算法实现。
直方图规定化中要注意两点:
References:
《数字图像处理》 —— 冈萨雷斯
图像处理基础(8):图像的灰度直方图、直方图均衡化、直方图规定化(匹配)
以上就是关于halcon和opencv哪个好用全部的内容,包括:halcon和opencv哪个好用、OpenCV 直方图处理:直方图均衡和规定化(匹配)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)