| 16 | namespace Host { |
| 17 | |
| 18 | Expect<uint32_t> |
| 19 | WasmEdgeOpenCVMiniImdecode::body(const Runtime::CallingFrame &Frame, |
| 20 | uint32_t BufPtr, uint32_t BufLen) { |
| 21 | // Check memory instance from module. |
| 22 | auto *MemInst = Frame.getMemoryByIndex(0); |
| 23 | if (MemInst == nullptr) { |
| 24 | return Unexpect(ErrCode::Value::HostFuncError); |
| 25 | } |
| 26 | |
| 27 | char *Buf = MemInst->getPointer<char *>(BufPtr); |
| 28 | |
| 29 | std::vector<char> Content(Buf, Buf + BufLen); |
| 30 | cv::Mat Img = cv::imdecode(cv::InputArray(Content), cv::IMREAD_COLOR); |
| 31 | |
| 32 | return Env.insertMat(Img); |
| 33 | } |
| 34 | |
| 35 | Expect<void> WasmEdgeOpenCVMiniImshow::body(const Runtime::CallingFrame &Frame, |
| 36 | uint32_t WindowNamePtr, |