GVKun编程网logo

如何用 opencv-python 解决这个问题?(opencv在python中如何调用的)

1

以上就是给各位分享如何用opencv-python解决这个问题?,其中也会对opencv在python中如何调用的进行解释,同时本文还将给你拓展36篇博文带你学完opencv:python+openc

以上就是给各位分享如何用 opencv-python 解决这个问题?,其中也会对opencv在python中如何调用的进行解释,同时本文还将给你拓展36 篇博文带你学完 opencv :python+opencv 进阶版学习笔记目录、Android OpenCV(零):OpenCV Android SDK、AR opencv-python | cv2.error: OpenCV(4.5.1) batch_distance.cpp:275: error: (-215:Assertion failed)、cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgproc/src/color.cpp:182: error:等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用 opencv-python 解决这个问题?(opencv在python中如何调用的)

如何用 opencv-python 解决这个问题?(opencv在python中如何调用的)

如何解决如何用 opencv-python 解决这个问题?

我正在尝试在 VSCode 中的 python 3.9 上使用 opencv-python。

我尝试了简单的程序:

import cv2
img = cv2.imread(''smallgray.png'',0)
print(img)

cv2.imwrite(''test1.png'',img)

VSCode 中运行的程序返回消息:

cv2.error: OpenCV(4.5.1) C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\pip-req-build-wvn_it83\\opencv\\modules\\imgcodecs\\src\\loadsave.cpp:753: error: (-215:Assertion Failed) !_img.empty() in function ''cv::imwrite''

我在 PyCharm 中尝试了相同的代码并且运行良好。 发生了什么,我该如何解决? 谢谢

解决方法

对于灰度

import cv2
img = cv2.imread(''imagename.png'',cv2.IMREAD_GRAYSCALE)
print(img)

cv2.imwrite(test1.png'',img)

对于 RGB

import cv2
img = cv2.imread(''imagename.png'',cv2.IMREAD_COLOR)
print(img)

cv2.imwrite(''test1.png'',img)

36 篇博文带你学完 opencv :python+opencv 进阶版学习笔记目录

36 篇博文带你学完 opencv :python+opencv 进阶版学习笔记目录

基础版学习笔记传送门
36 篇博文带你学完 opencv :python3+opencv 学习笔记汇总目录(基础版)

进阶版笔记

项目
opencv 进阶学习笔记 1: 调用摄像头用法大全(打开摄像头,打开摄像头并实时不断截屏,读取视频并截图)
opencv 进阶学习笔记 2:numpy 操作图像,色彩空间,查找指定颜色范围,通道分离与合并
opencv 进阶学习笔记 3:像素运算和图像亮度对比度调节
opencv 进阶学习笔记 4:ROI 和泛洪扩充
opencv 进阶学习笔记 5:图像模糊操作,图像锐化,边缘保留滤波 EPF(图像滤镜)
opencv 进阶学习笔记 6:使用鼠标在图像上绘制矩形框或者多边形框
opencv 进阶学习笔记 7:直方图,直方图均衡化,直方图比较,直方图反向投影
opencv 进阶学习笔记 8:模板匹配
opencv 进阶学习 9:图像阈值大全,图像二值化,超大图像二值化
opencv 进阶学习笔记 10:图像金字塔和图像梯度
opencv 进阶学习笔记 11:cannny 边缘检测,直线检测,圆检测
opencv 进阶学习笔记 12:轮廓发现和对象测量
opencv 进阶学习笔记 13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python 版
opencv 进阶学习笔记 14:分水岭算法 实现图像分割

OpenCV 告一段落,接下来,该实战啦。
计算机视觉三大任务,分类,监测,分割。
意见其他一些任务…
图像生成,OCR…


电气专业的计算机萌新,写博文不容易,如果你觉得本文对你有用,请点个赞支持下,谢谢。

Android OpenCV(零):OpenCV Android SDK

Android OpenCV(零):OpenCV Android SDK

OpenCV

OpenCV,全称Open Source Computer VisionLibrary,是基于C/C++编写的,是BSD开源许可的计算机视觉开发框架,其开源协议允许在学术研究与商业应用开发中免费使用它。OpenCV支持Windows、Linux、Mac OS、iOS与Android操作系统上的应用开发。

OpenCV Android SDK

OpenCV Android SDK 是OpenCV针对Android平台提供的开发工具包。Android应用开发一般采用Java或者Kotlin语言进行,而OpenCV主要模块采用C、C++语言编制,因此,我们需要通过JNI技术,实现JAVA或者Kotlin调用OpenCV算法模块的目的。

下载

  • 官网下载地址(https://opencv.org/releases/)
  • 选择OpenCV版本下的Android

SDK概述

SDK目录结构如下:

OpenCV-android-sdk
|_ samples
|_ sdk
|    |_ etc
|    |_ java
|    |_ libcxx_helper
|    |_ native
|          |_ 3rdparty
|          |_ jni
|          |_ libs
|               |_ arm64-v8a
|               |_ armeabi-v7a
|               |_ x86
|               |_ x86_64
|          |_ staticlibs
|               |_ arm64-v8a
|               |_ armeabi-v7a
|               |_ x86
|               |_ x86_64
|
|_ LICENSE
|_ README.android
目录 文件
samples OpenCV运行案例
sdk OpenCV API以及依赖库
sdk/etc Haar和LBP级联分类器
sdk/java OpenCV Java API
sdk/libcxx_helper bring libc++_shared.so into packages
sdk/native OpenCV 静态库、动态库以及JNI文件

英文详细介绍(https://opencv.org/android/)。其实官方的这些介绍并不详细,很多资料随着版本的迭代已过时,意义不大,唯一阅读性高且具有指导意义的应该就是库内的代码与注释了。

开发环境

  • Android Studio 3.5.3 & Android SDK

  • Android NDK 20.1.5948944

  • CMake 3.10.2

  • OpenCV Android SDK 4.2.0

Hello OpenCV Android Sample

  • Open Project
  • 选择OpenCV-android-sdk目录下的samples目录
  • 待编译结束后运行face-detection

Hello OpenCV Android SDK

  • New Project
  • Import Module…
  • 选择OpenCV-android-sdk目录下的sdk目录,修改或者不修改module的名称
  • 添加app程序对sdk module的依赖
  • 期间可能会遇到一些问题,可能是NDK版本问题,可能是API LEVEL问题,也可能是build tools的问题,对应的稍作处理即可。

示例工程

https://github.com/onlyloveyd/LearningAndroidOpenCV

onlyloveyd 博客专家 发布了158 篇原创文章 · 获赞 263 · 访问量 32万+ 他的留言板 关注

AR opencv-python | cv2.error: OpenCV(4.5.1) batch_distance.cpp:275: error: (-215:Assertion failed)

AR opencv-python | cv2.error: OpenCV(4.5.1) batch_distance.cpp:275: error: (-215:Assertion failed)

如何解决AR opencv-python | cv2.error: OpenCV(4.5.1) batch_distance.cpp:275: error: (-215:Assertion failed)

我决定尝试 Ar 是什么,但遇到了以下问题:

  1. File "C:/Users/Егор/PycharmProjects/ARfotoandvideo/AR.py",line 25,in <module>
  2. macthes = bf.knnMatch(des1,des2,k=2)
  3. cv2.error: OpenCV(4.5.1) C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\pip-req-build-0ycehs0d\\opencv\\modules\\core\\src\\batch_distance.cpp:275: error: (-215:Assertion Failed) type == src2.type() && src1.cols == src2.cols && (type == CV_32F || type == CV_8U) in function ''cv::batchdistance''

堆栈:

  • Windows 8.1 一种语言
  • Python 3.7.7
  • Pycharm 社区 2018.3.7
  • Opencv-python 4.5.1.48
  • 网络摄像头 - 在笔记本电脑上,我无法通过 wifi 连接通过 Droidcam 应用程序使用小米手机 Redmy 的摄像头。

信息

我将尝试描述之前发生的错误以及我是如何解决它们的 - 也许这会告诉您需要做什么来解决问题。

在程序执行期间,在从网络摄像头接收图像时发生崩溃 - 正如它本身所表现的那样,当程序启动时,来自网络摄像头的图像提供单色背景(在我的情况下,绿松石) ,当我通过点击X强行关闭所有窗口后,窗口中的数据被刷新并获得正确的图像。 cv2.waitKey (100) 部分解决了这个问题,其中更改 100 的值会导致来自网络摄像头的图像出现,!!!!但 !!!因为有失败,所以没有确定性。

尝试将 cv2.error 中所有可能的错误原因联系起来后,我得出的结论是问题出在 1 和 2 图像上的描述符中。我想指出的是,当网络摄像头相对于图像移动(不是缩放,而是前后移动)时,在 30 种情况下的 1-2 种情况下,它有助于启动程序并正常工作而不会崩溃。>

我的代码

  1. import cv2
  2. import numpy as np
  3. cap = cv2.VideoCapture(1,cv2.CAP_DSHOW)
  4. imgTarget = cv2.imread(''foto.jpg'')
  5. myVid = cv2.VideoCapture(''video.mp4'')
  6. success,imgVideo = myVid.read()
  7. hT,wT,cT = imgTarget.shape
  8. imgVideo = cv2.resize(imgVideo,(wT + 400,hT))
  9. orb = cv2.ORB_create(nfeatures=10)
  10. kp1,des1 = orb.detectAndCompute(imgTarget,None)
  11. imgTarget = cv2.drawKeypoints(imgTarget,kp1,None)
  12. while True:
  13. success,imgWebcam = cap.read()
  14. kp2,des2 = orb.detectAndCompute(imgWebcam,None)
  15. imgWebcam = cv2.drawKeypoints(imgWebcam,kp2,None)
  16. # imgWebcam = cv2.resize(imgWebcam,(wT,hT))
  17. bf = cv2.BFMatcher()
  18. macthes = bf.knnMatch(des1,k=2)
  19. good = []
  20. for m,n in macthes:
  21. if m.distance < 0.75 * n.distance:
  22. good.append(m)
  23. print(len(good))
  24. imgFeatures = cv2.drawMatches(imgTarget,imgWebcam,good,None,flags=2)
  25. if len(good) > 20:
  26. srcPts = np.float32([kp1[m.queryIdx].pt for m in good]).reshape(-1,1,2)
  27. dstPts = np.float32([kp2[m.trainIdx].pt for m in good]).reshape(-1,2)
  28. matrix,mask = cv2.findHomography(srcPts,dstPts,cv2.RANSAC,5)
  29. print(matrix)
  30. pts = np.float32([[0,0],[0,wT],[wT,hT],0]]).reshape(-1,2)
  31. dst = cv2.perspectiveTransform(pts,matrix)
  32. img2 = cv2.polylines(imgWebcam,[np.int32(dst)],True,(255,255),3)
  33. cv2.imshow(''img2'',img2)
  34. cv2.imshow(''imgFeatures'',imgFeatures)
  35. cv2.imshow(''imgTarget'',imgTarget)
  36. cv2.imshow(''myVid'',imgVideo)
  37. cv2.imshow(''imgWebcam'',imgWebcam)
  38. cv2.waitKey(100)

cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgproc/src/color.cpp:182: error:

cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgproc/src/color.cpp:182: error:

image1=Image.fromarray(cv2.cvtColor(image01,cv2.COLOR_BGR2RGB))
cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function ''cvtColor''

这个错误纠结了一周,网上找遍了答案,加上自己根据他们错误找,大多数都是图片路径,或者图片本身的错误

 

我自己的错误是 xml 转 json 文件出错,在看完一周重新分割数据以及转 json,终于可以运行。

 

这类错误大多数是图片路径读取有问题,大家可以先去找图片路径拼接那块是不是出现 None,可以适当打印出路径来调试,当然出现这种错误,最先看看,自己对图片的处理是不是正确的,基本上跑源码,除了个别修改配置文件,其他没问图,所以最讨厌的问题得抓最核心的地方,毕竟时间宝贵!!!

今天关于如何用 opencv-python 解决这个问题?opencv在python中如何调用的的介绍到此结束,谢谢您的阅读,有关36 篇博文带你学完 opencv :python+opencv 进阶版学习笔记目录、Android OpenCV(零):OpenCV Android SDK、AR opencv-python | cv2.error: OpenCV(4.5.1) batch_distance.cpp:275: error: (-215:Assertion failed)、cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgproc/src/color.cpp:182: error:等更多相关知识的信息可以在本站进行查询。

本文标签: