图像分析的OPEN CV 和halcon能做啥?如果不用他们,直接编写软件 分析图像有啥劣势?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像分析的OPEN CV 和halcon能做啥?如果不用他们,直接编写软件 分析图像有啥劣势?相关的知识,希望对你有一定的参考价值。

OPENCV和halcon提供了很多库函数可以直接调用。比如对图像做二值化以及各种变换。有些很基本的函数是出自数学家之手,可能是你要研究很多年才能做出来的。
opencv是免费的,halcon是收费的,相对来说功能也更强大。产品在国内销售的话用halcon也可以,毕竟halcon公司不会来抓侵权,但是要外销的话,还是要花很多精力在opencv上面开发。追问

我们是想自己用!

追答

那就用halcon好了,开发起来比OPENCV要方便

追问

就欧美那几个数学家开发的函数吗?别看他们发展了很多年了,我只需2年就能超过他们10倍。欧拉都不是我的对手,真不知道这个年代怎么生出那么多智障

追答

那你自己开发一套图像处理的工具吧,毕竟我们国家在这方面还是空白,需要你的才能。

参考技术A halcon理解为苹果系统,OPEN CV理解为安桌系统,如果你不用他们自己写,就理解为DOS系统追问

自己做CPU呢?

参考技术B 大哥,三年了,分析一下OpenCV与halcon的优劣势吧! 参考技术C 四年啦 哈哈 参考技术D 不用他们,直接编写软件分析图像!这个最赞了!!!大哥哪儿来的自信啊!!!

matplotlibPILcv2图像操作差异分析

python进行图像处理中分别用到过matplotlib.pyplot、PIL、cv2三种库,这三种库图像读取和保存方法各异,并且图像读取时顺序也有差异,如plt.imread和PIL.Image.open读入的都是RGB顺序,而cv2.imread读入的是BGR顺序。使用时需要倍加注意。

现参考http://www.jianshu.com/p/3977d674da85。对这三种库图像读取保存进行梳理。与原参考资源有一定差异。当前使用为python3.5版本。

读取图像

1.matplotlib.pyplot

matplotlib读取进来的图片是unit8,0-255范围。

2.PIL.image.open

PIL是有自己的数据结构的,但是可以转换成numpy数组,转换后的数组为unit8,0-255

3.cv2.imread

opencv读进来的是numpy数组,类型是uint8,0-255。

4.plt.imread和PIL.Image.open读入的都是RGB顺序,而cv2.imread读入的是BGR顺序。使用时需要倍加注意。

显示图像

均用plt.imshow(img):因为opencv读取进来的是bgr顺序呢的,而imshow需要的是rgb顺序,因此需要先反过来plt.imshow(img[..., -1::-1])。

保存图像

1 PIL.image - 保存PIL格式的图片

img.save("1.jpg")

2.cv2.imwrite - 保存numpy格式的图片

cv2.imwrite("1.jpg")

 

OpenCV读取的图片从BGR转换为RGB

import cv2

img=cv2.imread(‘imagename’)

方法一

b,g,r=cv2.split(img)

img2=cv2.merge([r.g.b])

方法二

img2=img[: , : , : : -1]

 

- 显示
b,g,r = cv2.split(img)
img_rgb = cv2.merge([r,g,b])
plt.figure()
plt.imshow(img_rgb)
plt.show()

以上是关于图像分析的OPEN CV 和halcon能做啥?如果不用他们,直接编写软件 分析图像有啥劣势?的主要内容,如果未能解决你的问题,请参考以下文章

matplotlibPILcv2图像操作差异分析

VR培训都学些啥啊?学出来能做啥?

halcon blob分析demo

halcon blob分析demo

如何用halcon算子将图像转化成三通道的图像

python能做啥?