首页 > 其他分享 >OpenCv(一)

OpenCv(一)

时间:2024-09-19 17:19:25浏览次数:9  
标签:机器 计算机 OpenCV image cv2 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.20230708Visual Studio 2022
C++OpenCv-4.5.5-vc14_vc15Visual Studio 2022
PythonOpenCv-Python (4.6.0.66)PyCharm Community Edition 2022.1.3

Python中使用OpenCV

import cv2

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

C++中使用OpenCV

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

标签:机器,计算机,OpenCV,image,cv2,OpenCv,视觉
From: https://blog.csdn.net/weixin_45788237/article/details/142365625

相关文章

  • OpenCV(cv::Sobel())
    目录1.函数定义2.工作原理2.1Sobel核2.2计算过程(1)x方向的Sobel卷积计算(2)y方向的Sobel卷积计算(3)合并x和y方向的梯度2.3示例3.示例4.使用场景总结cv::Sobel()是OpenCV中用于计算图像的梯度(边缘)的常用函数之一。它实现了Sobel滤波器,这是一种常见......
  • OpenCV(cv::magnitude())
    目录1.函数定义2.使用场景3.示例4.注意事项cv::magnitude()是OpenCV中用于计算向量的大小(模)的函数。它可以处理二维向量的模,也可以用于计算图像中每个像素点的梯度大小,通常在处理图像梯度或傅里叶变换时使用。1.函数定义voidcv::magnitude(InputArrayx,......
  • 护目镜佩戴检测系统 Opencv
    护目镜佩戴检测系统利用摄像头和图像识别技术,护目镜佩戴检测系统实时监测工人的护目镜佩戴情况,护目镜佩戴检测系统通过拍摄工人的面部图像,并使用算法分析图像中的眼睛和护目镜位置,判断是否正确佩戴护目镜。护目镜佩戴检测系统能够实时监测工人的护目镜佩戴情况,护目镜佩戴检测系统及......
  • OpenCV_图像旋转超详细讲解
    图像转置transpose(src, dst);transpose()可以实现像素下标的x和y轴坐标进行对调:dst(i,j)=src(j,i),接口形式transpose(InputArraysrc,//输入图像OutputArraydst,//输出)图像翻转flip(src,dst,1);flip()函数可以实现对图像的水平翻转、垂直翻转和双向......
  • OpenCV Python 深度指南
    OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉库,它包含了大量的图像处理和机器视觉算法。OpenCV支持多种编程语言,包括C++和Python,其中Python接口因其易用性和灵活性而受到广泛欢迎。本指南将覆盖以下几个方面:OpenCV简介OpenCV安装与配置图像基础视频......
  • Python OpenCV精讲系列 - 高级图像处理技术(七)
    ......
  • 周也带你进阶OpenCV (1)--采样、直方图即均衡化、掩膜
    文章目录OpenCV高阶操作一、上、下采样1.上采样2.下采样3.恢复原图二、直方图1.plt.hist()绘图2.cv2.calcHist()绘图三、mask掩膜1.原图2.创建黑白图像3.掩膜4.绘制曲线图四、直方图均衡化1.直方图均衡化2.自适应直方图均衡化(局部直方图处理)总结......
  • OpenCV(cv::bilateralFilter())
    目录1.函数定义2.双边滤波的工作原理3.应用场景4.示例5.与其他滤波器的比较6.性能优化7.注意事项结论cv::bilateralFilter()是OpenCV中用于图像平滑处理。与传统的线性滤波器(如高斯滤波器)不同,它同时考虑空间邻近性和像素值相似性,从而保留边缘的细节。1.函数定义vo......
  • opencv-python学习笔记10-图像形态学处理
    目录一、基本概念: (1)结构元素(StructuringElement):(2)膨胀(Dilation):(3)腐蚀(Erosion):(4)开运算(Opening)(5)闭运算(Closing)(6)形态学梯度(MorphologicalGradient)(7)顶帽(Top-hat)和黑帽(Black-hat)转换(8)应用领域 二、膨胀:(1)基本概念:(2)原理:(3)方法:(4)OpenCV中的膨胀函数:(5)代码示例:(6)应用领域:(7......
  • OpenCV(cv::merge())
    目录1.函数定义2.工作原理3.示例4.注意事项总结cv::merge()是OpenCV中用于将单通道图像合并为多通道图像。这个函数对于处理图像的不同颜色通道或者其他分割的图像数据特别有用。1.函数定义voidcv::merge(conststd::vector<Mat>&mv,OutputArraydst);参数:......