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代码

相关推荐
东坡肘子2 分钟前
谁是 AI-relay App 的真正威胁 -- 肘子的 Swift 周报 #158
人工智能·swiftui·swift
ss2734 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 15 PostgreSQL子查询与嵌套查询(上)
数据库·人工智能·postgresql
电梯界知识分子5 分钟前
江西赣州赣县三层设计师自建房:1700mm中空极限利用,全观光铝合金电梯的精度与防震处理
大数据·服务器·网络·人工智能·家用电梯
跨境数据猎手1 小时前
2027最新跨境电商独立站模式拆解
大数据·人工智能
博谷1 小时前
2026AI信源证据链怎么建?BUGOOAI布谷GEO的T0-T3分级与追溯方法
人工智能
悟天特斯1 小时前
智慧园区的“体验升级“:从管理工具到服务生态的人本运营
大数据·人工智能
织码weavecodes3 小时前
织码在线教育系统--主观题 AI 智能阅卷:批量初评与教师复核如何协同
人工智能
Shockang9 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang9 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能