由于老王我想转机器视觉方向的上位机行业,我就打算开始从零学OpenCV。但是目前OpenCV有两个官方语言,C++和Pyhont。C# 有大佬做了对应的OpenCV的版本的适配。目前三个语言的特点是
这个世界上有没有编程语言既有Python的开发效率,又有C/C++/Rust的性能?
图像处理语言中选择python、C++、Matlab还是Opencv前景会更好一些?
所以我做了个艰难而又正确的决定,三语言同时开发!其实就是三个语言同一功能一起开发而已。
我目前在B站上面搜教程,找到两个最高播放量的教程。如果你是零基础学习,还是建议走一遍视频的,因为很多配置的细节,编译器的操作都是要了解的。这个时期的目标就是代码能跑通,就是胜利。
【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记)图像处
OpenCV4 C++ 快速入门视频30讲 - 系列合集
一共两个课,一个是Python的,一个是C++的。作为开发,肯定是先C++的课,因为C++能跑就行,C++是最难的那个。
我之前配置过了,这里就直接放链接了
Python+OpenCV 零基础学习笔记(1-3):anaconda+vscode+jupyter环境配置
C#我也搞过了
C# &OpenCV 从零开发(0):前言
这次主要讲C++的
OpenCV安装及其开发环境配置(C++)
OpenCV官网
下好之后解压
这个代码我是抄别人的
OpenCV安装及其开发环境配置(C++)
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
int main()
{
Mat image = Mat::zeros(300, 600, CV_8UC3);
circle(image, Point(300, 200), 100, Scalar(25, 110, 288), -100);
circle(image, Point(400, 200), 100, Scalar(255, 123, 127), -100);
imshow("Show Window", image);
waitKey(0);
return 0;
}
如果出现以下图片,则运行成功
static void Main(string[] args)
{
Mat image = new Mat(300,600,MatType.CV_8UC3);
image.Circle(new Point(300, 200), 100, new Scalar(25, 110, 288), -100);
image.Circle(new Point(400, 200), 100, new Scalar(255, 123, 127), -100);
Cv2.ImShow("Show Window",image);
Cv2.WaitKey(0);
//Console.WriteLine("Hello, World!");
Console.ReadKey();
}
Python和别的代码完全不一样,C++和Csharp命名逻辑基本一致,就Python特立独行一点
网上找了半天,终于找到了如何绘画。不知道Python和C++本质上是不是一样的,反正显示的结果差不多
Python 用 OpenCV 画点和圆 (2)
import cv2
# python中需要np来辅助
import numpy as np
image =np.zeros((300, 600, 3), np.uint8)
cv2.circle(image,(300,200),100,(25,110,288),-100);
cv2.circle(image,(400,200),100,(255,123,127),-100);
cv2.imshow("Show Window",image)
cv2.waitKey(0)
gclove2000 / C++_Csharp_Python_OpenCV
我新建了仓库,但是感觉意义不大。由于三个文件的库管理的区别,C++和Python的全局的库,Csharp是每个项目的库是分别独立的。所以频繁的创建新项目比较烦。我这里就不创建新项目了,直接把代码粘贴上了用就好了。
这次只是单纯的安装OpenCV的环境,下次我回去了解如何正确使用三种语言来写OpenCV。