opencv读取图像python和c++版本的结果不同

问题:

在读取同一张图像时,python读取的结果和c++读取的结果差异较大,测试图像中最大误差达到16.

原因:

python的opencv采用的是4.1.1,c++采用的是3.1.0,在解析JPEG的时候,采用的解码库不同,我们可以通过 cv2.getBuildInformation() 和 cv::getBuildInformation() 来查看对应的信息

c++

python

 解决:

为了方便可以重新安装python的版本,同时卸载之前的,包括contribute库

conda uninstall opencv
pip uninstall opencv-contrib-python #我是用pip安装的
conda install opencv3

注意:经过其他网友测试 opencv 3.0.0到opencv3.4.1都是用的 ver90,其他版本的JPEG解码器一致,没有亲测过,为了保险起见,保证python和c++的版本一致即可

网友链接:https://www.cnblogs.com/zjutzz/p/10543935.html

猜你喜欢

转载自www.cnblogs.com/haiyang21/p/11655404.html