最近在学习opencv,今天中秋有空把之前遇到的坑分享出来
对于opencv来说,我感觉用python写比较容易,因为他函数直接用就可以了,代码量没有那么多
不过opencv是基于c写的,所以用c写应该更好。
看个人喜好了,我觉得用哪个学习都可以,反正写法和函数是差不多的。
pycharm:
python配置opencv特别容易,直接安装库就可以了
不想用pycharm的可以用pip instal ***安装库
下面是打开摄像头的代码:
很容易看懂
import cv2
import numpy as np
camera=cv2.VideoCapture(0) # 把0改为路径就是选视频
while True:
ret, frame = camera.read()
if ret!=True:
break
cv2.imshow("show", frame)
if cv2.waitKey(27) & 0xFF == ord('q'):
break
#cv2.waitKey(0) # 这个是延迟按键 触发函数
camera.release()
cv2.destroyAllWindows()
vs:
看下面这个链接
下面分享一个永久用opencv的链接:亲测有效
https://blog.csdn.net/weixin_43500426/article/details/89048402
1.首先安装opencv(我的是3.4.1)并添加环境变量
2.把opencv的头文件和库分别放进vs的这两个文件夹中即可
最后再选一下配置的平台就ok了
下面是vs2019的代码:
打开视频或者摄像头
#include <iostream>
using namespace std;
#include "opencv2/highgui.hpp"
#include "opencv2/core.hpp"
using namespace cv;
int main()
{
//Mat img = imread("C:/Users/administrator/Desktop/ip.png");
VideoCapture cap;
cap.open("C:/Users/Administrator/Desktop/wutijiance/99.mp4");
if (!cap.isOpened())
{
return -1;
}
// 帧的宽高,帧率和总数帧
//int w = cap.get(CV_CAP_PROP_FRAME_WIDTH);
//int h = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
//int fps = cap.get(CV_CAP_PROP_FPS);
//int zong = cap.get(CV_CAP_PROP_FRAME_COUNT);
//cout << w << endl;
//cout << h << endl;
//cout << fps << endl;
//cout << zong << endl;
while(1)
{
Mat frame;
cap >> frame;
Mat fanzhuan;
flip(frame,fanzhuan,1); //翻转视频
imshow("show", fanzhuan);
if (waitKey(30) >= 0)
{
break;
}
}
//waitKey(0);
cap.release();
return 0;
}
最近学习了opencv的目标跟踪:
pycharm的朋友可以用pyqt5增加控件调试
可以撸一个播放器
颜色跟踪和物体跟踪(检测轮廓) 是动态的
颜色识别
下一篇文章会讲一下我学习opencv的过程。