以上就是给各位分享如何用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中如何调用的)
- 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 解决这个问题?
我正在尝试在 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 :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
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 是什么,但遇到了以下问题:
File "C:/Users/Егор/PycharmProjects/ARfotoandvideo/AR.py",line 25,in <module>
macthes = bf.knnMatch(des1,des2,k=2)
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 种情况下,它有助于启动程序并正常工作而不会崩溃。>
我的代码
import cv2
import numpy as np
cap = cv2.VideoCapture(1,cv2.CAP_DSHOW)
imgTarget = cv2.imread(''foto.jpg'')
myVid = cv2.VideoCapture(''video.mp4'')
success,imgVideo = myVid.read()
hT,wT,cT = imgTarget.shape
imgVideo = cv2.resize(imgVideo,(wT + 400,hT))
orb = cv2.ORB_create(nfeatures=10)
kp1,des1 = orb.detectAndCompute(imgTarget,None)
imgTarget = cv2.drawKeypoints(imgTarget,kp1,None)
while True:
success,imgWebcam = cap.read()
kp2,des2 = orb.detectAndCompute(imgWebcam,None)
imgWebcam = cv2.drawKeypoints(imgWebcam,kp2,None)
# imgWebcam = cv2.resize(imgWebcam,(wT,hT))
bf = cv2.BFMatcher()
macthes = bf.knnMatch(des1,k=2)
good = []
for m,n in macthes:
if m.distance < 0.75 * n.distance:
good.append(m)
print(len(good))
imgFeatures = cv2.drawMatches(imgTarget,imgWebcam,good,None,flags=2)
if len(good) > 20:
srcPts = np.float32([kp1[m.queryIdx].pt for m in good]).reshape(-1,1,2)
dstPts = np.float32([kp2[m.trainIdx].pt for m in good]).reshape(-1,2)
matrix,mask = cv2.findHomography(srcPts,dstPts,cv2.RANSAC,5)
print(matrix)
pts = np.float32([[0,0],[0,wT],[wT,hT],0]]).reshape(-1,2)
dst = cv2.perspectiveTransform(pts,matrix)
img2 = cv2.polylines(imgWebcam,[np.int32(dst)],True,(255,255),3)
cv2.imshow(''img2'',img2)
cv2.imshow(''imgFeatures'',imgFeatures)
cv2.imshow(''imgTarget'',imgTarget)
cv2.imshow(''myVid'',imgVideo)
cv2.imshow(''imgWebcam'',imgWebcam)
cv2.waitKey(100)
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:等更多相关知识的信息可以在本站进行查询。
本文标签: