1应用
.net core 在linux中使用 OpenCvSharp4
1引用OpenCvSharp4
2引用ubuntu对应版本的runtime
2异常
System.TypeInitializationException: The type initializer for 'OpenCvSharp.Internal.NativeMethods' threw an exception.
---> System.DllNotFoundException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libOpenCvSharpExtern: cannot open shared object file: No such file or directory
at OpenCvSharp.Internal.NativeMethods.redirectError(CvErrorCallback errCallback, IntPtr userdata, IntPtr& prevUserdata)
at OpenCvSharp.Internal.ExceptionHandler.RegisterExceptionCallback()
at OpenCvSharp.Internal.NativeMethods.LoadLibraries(IEnumerable`1 additionalPaths)
at OpenCvSharp.Internal.NativeMethods..cctor()
--- End of inner exception stack trace ---
at OpenCvSharp.Internal.NativeMethods.imgcodecs_imread(String fileName, Int32 flags, IntPtr& returnValue)
at OpenCvSharp.Mat..ctor(String fileName, ImreadModes flags)
3处理
#查看依赖
root@sea-ubuntu:/home/hcrainc# ldd /usr/local/lib/libOpenCvSharpExtern.so
linux-vdso.so.1 (0x00007ffd57eab000)
libtesseract.so.4 => not found
libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007f1cb6a4f000)
libgdk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (0x00007f1cb679a000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f1cb647d000)
---
安装依赖
sudo apt update
sudo apt install libtesseract-dev
如果都不管
1可参考如下
RUN apt-get update && apt-get install -y \
apt-utils \
libgdiplus \
libc6-dev \
libgtk2.0-dev \
libtbb-dev \
libatlas-base-dev \
libvorbis-dev \
libxvidcore-dev \
libopencore-amrnb-dev \
libopencore-amrwb-dev \
libavresample-dev \
x264 \
v4l-utils \
libwebp-dev \
tesseract-ocr \
libtesseract-dev \
libleptonica-dev \
libtiff-dev \
libavcodec-dev \
libavformat-dev \
libswscale-dev \
libdc1394-22-dev \
libxine2-dev \
libv4l-dev \
tesseract-ocr