Я бы хотел создать веб-приложение с Blazor WebAssembly и выполнить некоторую обработку изображений на стороне клиента с помощью OpenCV. У меня проблемы с использованием OpenCV на стороне клиента. Я попробовал два подхода:
- Включение пакета OpenCVSharp4 NuGet в проект клиента. Однако, поскольку OpenCVSharp - просто оболочка, я предполагаю, что для выполнения реальной работы требуется dll времени выполнения. Я устал от добавления пакета OpenCVSharp4.runtime.win, и код, использующий OpenCV, генерирует ошибку
WASM: System.TypeInitializationException: The type initializer for 'OpenCvSharp.NativeMethods' threw an exception. ---> System.DllNotFoundException: OpenCvSharpExtern assembly:<unknown assembly> type:<unknown type> member:(null)
, говорящую, что он не может найти dll. - Используйте OpenCV. js с WebAssembly. Я пытался просто добавить
<script src="opencv.js" async></script>
в индекс. html, но приложение не может загрузить со следующей ошибкой
Uncaught (in promise) TypeError: Cannot read property 'apply' of undefined
at Module.stackSave (dotnet.js:1)
at ccall (dotnet.js:1)
at Object.wasm_setenv (dotnet.js:1)
at Object.mono_wasm_setenv (dotnet.js:1)
at blazor.webassembly.js:1
at callRuntimeCallbacks (opencv.js:30)
at postRun (opencv.js:30)
at doRun (opencv.js:30)
at run (opencv.js:30)
at runCaller (opencv.js:30)
Так что возможно использовать OpenCV на стороне клиента с Blazor? Если так, как это сделать? Заранее спасибо!