error: OpenCV(4.8.0) :-1: error: (-5:Bad argument) in function ‘line‘

这篇具有很好参考价值的文章主要介绍了error: OpenCV(4.8.0) :-1: error: (-5:Bad argument) in function ‘line‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

error: OpenCV(4.8.0) :-1: error: (-5:Bad argument) in function 'line' > Overload resolution failed: > - Layout of the output array img is incompatible with cv::Mat > - Expected Ptr<cv::UMat> for argument 'img'

在python中读取matlab保存的mat文件,然后进行一些处理出现上面报错。
此原因可能由于 matlab和python存储方式不同。

Pascal, C,C++,Python都是行优先存储的,而Fortran,MatLab是列优先存储的。

C order 以及 Fortran order

  • C order 指的是行优先的顺序(Row-major Order),即内存中同行的元素存在一起,
  • Fortran Order则指的是列优先的顺序(Column-major Order),即内存中同列的元素存在一起。

解决方法:在python中使用函数:
 

np.ascontiguousarray()

使得数组转化为C-order存储即可。

参考:
numpy中的np.ascontiguousarray()函数 - 知乎 (zhihu.com)

 若保存的mat文件为RGB图片,当使用mediapipe在本图片上进行提取手部关节点时候,可能会发现左右手识别反转,需要对图片进行水平翻转cv2.flip(),最好先水平翻转再转化为c coder格式排列,即将cv2.flip(),函数放在np.ascontiguousarray()函数前。若将cv2.flip()函数放在np.ascontiguousarray()函数之后会发现没有任何作用,左右手依然识别错误。文章来源地址https://www.toymoban.com/news/detail-756408.html

到了这里,关于error: OpenCV(4.8.0) :-1: error: (-5:Bad argument) in function ‘line‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包