因为tensorflow和opencv都使用了libjpeg,如果二者在编译的时候使用的libjpeg版本不对,会导致imread无法成功读取jpeg文件。
workaround如下:
在编译tensorflow或者tensorflow__cc的时候,加上编译选项:–config=monolithic ,该编译选项使得tensorflow把libjpeg静态链入,就不会和opencv冲突了。
C库编译命令行如下:
bazel build –config=monolithic -c opt –verbose_failures //tensorflow:libtensorflow.so
参考:https://blog.csdn.net/xinchen1234/article/details/79390195