OpenCv(一)

计算机视觉和机器视觉的区别

计算机视觉(Computer Vision)和机器视觉(Machine Vision)是两个密切相关但又有区别的领域。两者在应用、技术和目标上都有所不同。

**计算机视觉:**主要是研究如何使计算机能够理解和处理图像和视频数据。其目标是从视觉数据中提取有用的信息,实现图像识别、物体检测、图像分割等任务。计算机视觉通常应用于智能手机、自动驾驶、医疗影像分析等领域。

**机器视觉:**是指利用计算机视觉技术来实现自动化的视觉检查和分析。其目标是通过机器视觉系统(包括硬件和软件)对产品或过程进行检测、测量和分析,从而提高生产效率和质量。机器视觉通常应用于工业自动化、生产线质量控制等领域。

技术和方法

计算机视觉和机器视觉都依赖于图像处理和分析技术,但计算机视觉更注重算法和模型的开发与优化,如深度学习、卷积神经网络(CNN)、图像分类和分割等。机器视觉则更强调系统集成和实时性,通常结合工业相机、光源、图像采集卡等硬件设备。

应用领域

计算机视觉:主要应用于非工业领域,如自动驾驶(车道检测、障碍物识别)、医疗(CT图像分析、病理检测)、安防监控(人脸识别、行为分析)、娱乐(AR/VR)等。

机器视觉:主要应用于工业自动化领域,如电子制造(PCB板检测)、汽车制造(零部件检测)、食品饮料(包装检测)、制药(药品外观检测)等。

主要的软件工具

计算机视觉和机器视觉中常用的软件工具包括OpenCV、HALCON、Visionpro等。

OpenCv

OpenCV(Open source Computer Vision)是一个开源程序库,包含了 500 多个用于图像和视频分析的优化算法。该程序库建立于 1999 年,目前在计算机视觉领域的研发人员社区中非常流行,被用作主要开发工具。OpenCV支持多种语言,在实际的工程应用中,使用C++、Python等语言较多。实际上,这个程序库跨语言使用也非常便捷,使用C#描述下的.NET Framework框架。

语言 OpneCv版本 IDE
C# OpenCvSharp4.4.8.0.20230708 Visual Studio 2022
C++ OpenCv-4.5.5-vc14_vc15 Visual Studio 2022
Python OpenCv-Python (4.6.0.66) PyCharm Community Edition 2022.1.3

Python中使用OpenCV

python 复制代码
import cv2

# 读取一张图片
srcImage = cv2.imread("../images/a.jpg")
# 创建一个窗口
cv2.namedWindow("image")
# 显示图片
cv2.imshow("image", srcImage)
# 等待任意输入
cv2.waitKey(0)

C++中使用OpenCV

C++ 复制代码
using namespace cv;
using namespace std;

int main()
{
    // 读取一张图片
    Mat srcImage = imread("../images/a.jpg");
    // 创建一个名字为image的窗口
    namedWindow("image");
    // 显示图片
    imshow("image", srcImage);
    // 等待任意按钮结束
    waitKey(0);
}

C#中使用OpenCV

  1. 打开vs2022

  2. 新建项目

  3. 安装Nuget程序包

  1. 引入OpenCvSharp

  2. 书写OpenCvSharp代码

相关推荐
机器人行业研究员1 分钟前
机器人“小脑”萎缩,何谈“大脑”智慧?六维力/关节力传感器才是“救命稻草”
人工智能·机器人·人机交互·六维力传感器·关节力传感器
互联网科技看点3 分钟前
多场景服务机器人代理品牌深度解析
人工智能·机器人
500佰17 分钟前
Copilot、Codeium 软件开发领域的代表性工具背后的技术
人工智能·github·gpt-3·copilot·个人开发·xcode
Francek Chen37 分钟前
【自然语言处理】预训练06:子词嵌入
人工智能·pytorch·深度学习·自然语言处理·子词嵌入
微盛企微增长小知识41 分钟前
企业微信AI怎么用?从智能表格落地看如何提升运营效率
大数据·人工智能·企业微信
私域实战笔记43 分钟前
如何选择企业微信SCRM?2025年3个选型参考维度
大数据·人工智能·企业微信·scrm·企业微信scrm
袁庭新1 小时前
2025年10月总结
人工智能·aigc·coze
yolo_guo1 小时前
opencv 学习: QA_01 什么是图像锐化
linux·c++·opencv·计算机视觉
AI浩1 小时前
SMamba: 基于稀疏Mamba的事件相机目标检测
人工智能·数码相机·目标检测
QTreeY1231 小时前
yolov5/8/9/10/11/12/13+deep-oc-sort算法的目标跟踪实现
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪