精华内容
下载资源
问答
  • OpenCV笔记大集锦
    2017-05-28 13:46:16

    整理了我所了解的有关OpenCV的学习笔记、原理分析、使用例程等相关的博文。排序不分先后,随机整理的。如果有好的资源,也欢迎介绍和分享。

    1:OpenCV学习笔记

    作者:CSDN
    数量:55篇博文
    网址:http://blog.csdn.net/column/details/opencv-manual.html

    2:部分OpenCV的函数解读和原理解读

    作者:梦想腾飞
    数量:20篇博文
    网址:http://blog.csdn.net/xidianzhimeng/article/category/1593859

    3: OpenCV入门指南

    作者: MoreWindows
    数量: 13篇博文
    网址:http://blog.csdn.net/morewindows/article/category/1291764

    4: OpenCV成长和进阶之路

    作者: Ronny的技术成长之路
    数量: 12篇博文
    网址:http://www.cnblogs.com/ronny/category/366234.html

    5: OpenCV入门教程

    作者: 毛星云(浅墨)的专栏,《OpenCV3编程入门》作者
    数量: 18篇博文
    网址:http://blog.csdn.net/zhmxy555/article/category/1923021

    6: 基础学习笔记之opencv

    作者: tornadomeet
    数量: 24篇博文
    网址:http://www.cnblogs.com/tornadomeet/tag/opencv/

    7: OpenCV学习笔记

    作者: 邹宇华
    数量: 32篇博文
    网址:http://blog.csdn.net/chenyusiyuan/article/category/610983

    8: CVPR|OpenCV|图像检索|视频检索

    作者: icvpr
    数量: 25篇博文
    网址:http://blog.csdn.net/icvpr/article/category/1139524

    9: 学习OpenCV

    作者: 小熊不去实验室
    数量: 81篇博文
    网址:http://blog.csdn.net/sangni007/article/category/1106771

    10: OpenCV

    作者: 羽凌寒
    数量: 47篇博文
    网址:http://blog.csdn.net/u011630458/article/category/2771659

    11: OpenCV入门

    作者: reyzal
    数量: 7篇博文
    网址:http://www.cnblogs.com/Reyzal/default.html?page=1

    12: OpenCV一些例程

    作者: 一样菜
    数量: 18篇博文
    网址:http://www.cnblogs.com/mypsq/category/758268.html

    13: OpenCV笔记

    作者: gettogetto
    数量: 10篇博文
    网址:http://blog.csdn.net/gettogetto/article/category/5986789

    14:学习OpenCV

    作者: Kelvin_Yan
    数量:45篇
    网址:http://blog.csdn.net/Kelvin_Yan/article/category/2540707

    15: Python-OpenCV 图像与视频处理教程

    作者: phperz
    数量: 15
    网址:http://www.phperz.com/special/106.html

    16: OpenCV

    作者:shiter
    数量:55篇博文
    网址:http://blog.csdn.net/wangyaninglm/article/category/1653815

    更多相关内容
  • OpenCV笔记

    2012-09-24 18:12:22
    OpenCV笔记
  • Opencv笔记

    2014-07-29 13:52:55
    学习Opencv时的笔记,与大家分享,不足的地方,大家多多指教。
  • opencv笔记.docx

    2021-11-28 16:50:03
    opencv笔记.docx
  • C# Opencv学习_超详细教程(亲自实践)

    C# Opencv学习_超详细教程(亲自实践)

    C# Opencv笔记(二)——OpenCvSharp安装与测试

    本文作者Lawrence,位置未经作者允许禁止转载,谢谢!
    以下所有内容,均来源于亲自实战和查询相关资料。


    前言

    文本主要介绍OpenCvSharp4如何一步一步安装,并测试验证


    一、运行环境

    本人运行环境,Windows下,VS2019专业版16.11.5
    在这里插入图片描述

    二、安装步骤

    1、打开VS2019,创建工程

    选择Windows窗体应用(.NET Framework),如下图所示
    在这里插入图片描述

    2、使用NuGet安装OpenCvSharp

    菜单栏->工具->NuGet包管理器->管理解决方案的NuGet程序包
    在这里插入图片描述
    分别安装OpenCvSharp4、OpenCvSharp4.Extensions和OpenCvSharp4.runtime.win三个包,注意当前版本为4.5.5最新版本。当然也可以安装一个包,选择OpenCvSharp4.windows,这个是将OpenCvSharp4和OpenCvSharp4.runtime.win两个包整合到了一起。
    在这里插入图片描述
    在这里插入图片描述
    注意: OpenCvSharp4安装的依懒项,.Net框架的版本要至少要大于V4.6以上,否则安装可能会不成功。
    在这里插入图片描述
    在菜单栏->项目->最后一个属性,可以更改目标框架的版本,大于4.6以上
    在这里插入图片描述
    满足上述条件后,点击安装,在输出依懒,会看到安装日志,最终显示成功则代表安装成功

    3、检测OpenCvSharp是否安装成功

    在Debug目录下,packages文件夹中为安装的三个库,代表安装成功。
    在这里插入图片描述
    在引用下,多出了红色框柱的这两个库,代表安装成功
    在这里插入图片描述

    三、 OpenCvSharp程序验证测试

    使用OpenCvSharp,添加using OpenCvSharp以及OpenCvSharp.Extensions

    using OpenCvSharp;
    using OpenCvSharp.Extensions;
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace CvSharpDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                //创建一张大小为300*300颜色为绿色的三通道彩色图像
                Mat img = new Mat(300, 300, MatType.CV_8UC3, new Scalar(0, 255, 0));
                //显示图像
                Cv2.ImShow("img", img);
                //延时等待按键按下
                Cv2.WaitKey(0);
            }
        }
    }
    

    运行效果图如下,则说明运行成功
    在这里插入图片描述


    总结

    本文OpenCvSharp4的安装和简单测试,记录了安装时候踩过的坑,后续所有OpenCv功能测试都是基于此环境下进行实战演练。
    后续文章将主要介绍OpenCvSharp的使用,亲自实战,并熟练掌握,有问题欢迎大家评论并联系我

    展开全文
  • OpenCV笔记: 查找轮廓

    2019-03-19 01:52:20
    NULL 博文链接:https://westice.iteye.com/blog/721225
  • opencv笔记

    2013-01-20 09:31:06
    opencv笔记!
  • 该文件对应于博客:python+OpenCV笔记(一)~(三十八)的全部示例代码及所需的文件,有需要参考的伙伴可下载查看。 2.专栏笔记地址: https://blog.csdn.net/qq_45832961/category_11556929.html
  • 阿汛的opencv学习笔记系列博文的源代码,注释很清晰,可以直接拿来学习OpenCV的基本操作,也可以到我的系列博客中看更加详细的解释,阿汛最近在搞ros的无人机,opencv笔记发到人脸识别就结束了。这份资料我的想法...
  • Opencv笔记之图片的初步处理平滑处理 精品文档 精品文档 收集于网络如有侵权请联系管理员删除 收集于网络如有侵权请联系管理员删除 精品文档 收集于网络如有侵权请联系管理员删除 关键函数 Smooth 各种方法的图像...
  • OpenCV学习笔记总结

    千次阅读 2022-03-28 20:35:12
    本文主要记录学习opencv笔记知识,主要是图像基础操作处理。官方文档推荐: https://github.com/fendouai/OpenCVTutorials OpenCV中文官方文档 学习笔记推荐: 本文参考:【参考黑马のOpencv图像处理学习笔记】...

    📝官方文档推荐:

    https://github.com/fendouai/OpenCVTutorials

    OpenCV中文官方文档

    🆙学习笔记推荐:

    OpenCV在线笔记 CodecWang's Blog

    学习OpenCV的建议? - 知乎


    图像处理导图:

    在这里插入图片描述

     Opencv思维导图:

    Opencv基础操作中分为两个大部分,分别是图像的基础操作和算数操作

    一、图像的基础操作

    目标任务:

    • 掌握图像的读取和保存方法

    • 能够使用OpenCV在图像上绘制几何图形

    • 能够访问图像的像素

    • 能够获取图像的属性,并进行通道的分离和合并

    • 能够实现颜色空间的变换

    1 图像的IO操作

    1.1 读取图像

    cv.imread()

    参数:

    • 要读取的图像

    • 读取方式的标志

      • cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的透明度都将被忽略。这是默认参数。

      • cv.IMREAD*GRAYSCALE:以灰度模式加载图像

      • cv.IMREAD_UNCHANGED:包括alpha通道的加载图像模式。

        可以使用1、0或者-1来替代上面三个标志

    • 参考代码

      
      import numpy as np
      
      import cv2 as cv
      
      # 以灰度图的形式读取图像
      
      img = cv.imread('messi5.jpg',0)

      注意:如果加载的路径有错误,不会报错,会返回一个None值

    1.2显示图像

    cv.imshow()

    参数:

    • 显示图像的窗口名称,以字符串类型表示
    • 要加载的图像

    注意:在调用显示图像的API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应情况,并且图像无法显示出来

    参考代码

    
    import numpy as np
    
    import cv2 as cv
    
    import matplotlib.pyplot as plt
    
    # 1 读取图像
    
    img = cv.imread('1.jpg')
    
    # 2 显示图像
    
    # opencv中显示
    
    cv.imshow('image',img)
    
    cv.waitKey(0)
    
    # matplotlib中展示
    
    plt.imshow(img[:,:,::-1])
    
    plt.show()

    1.3 保存图像

    cv.imwrite()
    

    参数:

    文件名,要保存在哪里

    • 要保存的图像
    • 参考代码
    cv.imwrite('messigray.png',img)

    1.4 总结

    我们通过加载灰度图像,显示图像,如果按's'并退出则保存图像,或者按ESC键直接退出而不保存。

    
    import numpy as np
    
    import cv2 as cv
    
    import matplotlib.pyplot as plt
    
    # 1 读取图像
    
    img = cv.imread('1.jpg',1)
    
    # 2 显示图像
    
    # 2.1 利用opencv展示图像
    
    cv.imshow('image',img)
    
    cv.waitKey(0)
    
    # 2.2 在matplotplotlib中展示图像
    
    plt.imshow(img[:,:,::-1])
    
    plt.title(' '), plt.xticks([]), plt.yticks([])
    
    plt.show()
    
    # 3 保存图像
    
    cv.imwrite('12.png',img)

    2 绘制几何图形

    2.1 绘制直线

    cv.line(img,start,end,color,thickness)

    参数:

    • img:要绘制直线的图像
    • Start,end: 直线的起点和终点
    • color: 线条的颜色
    • Thickness: 线条宽度

    2.2 绘制圆形

    cv.circle(img,centerpoint, r, color, thickness)

    参数:

    • img:要绘制圆形的图像
    • Centerpoint, r: 圆心和半径
    • color: 线条的颜色
    • Thickness: 线条宽度,为-1时生成闭合图案并填充颜色

    2.3 绘制矩形

    cv.rectangle(img,leftupper,rightdown,color,thickness)

    参数:

    • img:要绘制矩形的图像
    • Leftupper, rightdown: 矩形的左上角和右下角坐标
    • color: 线条的颜色
    • Thickness: 线条宽度

    2.4 向图像中添加文字

    cv.putText(img,text,station, font, fontsize,color,thickness,cv.LINE_AA)

    参数:

    • img: 图像
    • text:要写入的文本数据
    • station:文本的放置位置
    • font:字体
    • Fontsize :字体大小

    2.5 效果展示

    我们生成一个全黑的图像,然后在里面绘制图像并添加文字

    
    import numpy as np
    
    import cv2 as cv
    
    import matplotlib.pyplot as plt
    
    # 1 创建一个空白的图像
    
    img = np.zeros((512,512,3), np.uint8)
    
    # 2 绘制图形
    
    cv.line(img,(0,0),(511,511),(255,0,0),5)
    
    cv.rectangle(img,(384,0),(510,128),(0,255,0),3)
    
    cv.circle(img,(447,63), 63, (0,0,255), -1)
    
    font = cv.FONT_HERSHEY_SIMPLEX
    
    cv.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv.LINE_AA)
    
    # 3 图像展示
    
    plt.imshow(img[:,:,::-1])
    
    plt.title(' '), plt.xticks([]), plt.yticks([])
    
    plt.show()

    结果:

    3 获取并修改图像中的像素点

    我们可以通过行和列的坐标值获取该像素点的像素值。对于BGR图像,它返回一个蓝,绿,红值的数组。对于灰度图像,仅返回相应的强度值。使用相同的方法对像素值进行修改。

    
    import numpy as np
    
    import cv2 as cv
    
    img = cv.imread('1.jpg')
    
    # 获取某个像素点的值
    
    px = img[100,100]
    
    # 仅获取蓝色通道的强度值
    
    blue = img[100,100,0]
    
    # 修改某个位置的像素值
    
    img[100,100] = [255,255,255]
    
    cv.imshow('image',img)
    
    cv.waitKey(0)

    4 获取图像的属性

    图像属性包括行数,列数和通道数,图像数据类型,像素数等。

    5 图像通道的拆分与合并

    有时需要在B,G,R通道图像上单独工作。在这种情况下,需要将BGR图像分割为单个通道。或者在其他情况下,可能需要将这些单独的通道合并到BGR图像。你可以通过以下方式完成。

    
    # 通道拆分
    
    b,g,r = cv.split(img)
    
    # 通道合并
    
    img = cv.merge((b,g,r))

    6 色彩空间的改变

    OpenCV中有150多种颜色空间转换方法。最广泛使用的转换方法有两种,BGR↔Gray和BGR↔HSV。

    API:

    cv.cvtColor(input_image,flag)
    

    参数:

    • input_image: 进行颜色空间转换的图像
    • flag: 转换类型
      • cv.COLOR_BGR2GRAY : BGR↔Gray
      • cv.COLOR_BGR2HSV: BGR→HSV

    总结:

    1. 图像IO操作的API:

      cv.imread(): 读取图像

      cv.imshow():显示图像

      cv.imwrite(): 保存图像

    2. 在图像上绘制几何图像

      cv.line(): 绘制直线

      cv.circle(): 绘制圆形

      cv.rectangle(): 绘制矩形

      cv.putText(): 在图像上添加文字

    3. 直接使用行列索引获取图像中的像素并进行修改

    4. 图像的属性

    5. 拆分通道:cv.split()

      通道合并:cv.merge()

    6. 色彩空间的改变

      cv.cvtColor(input_image,flag)

    二、算数操作

    学习目标

    • 了解图像的加法、混合操作

    1.图像的加法

    你可以使用OpenCV的cv.add()函数把两幅图像相加,或者可以简单地通过numpy操作添加两个图像,如res = img1 + img2。两个图像应该具有相同的大小和类型,或者第二个图像可以是标量值。

    注意:OpenCV加法和Numpy加法之间存在差异。OpenCV的加法是饱和操作,而Numpy添加是模运算。

    参考以下代码:

    
    >>> x = np.uint8([250])
    
    >>> y = np.uint8([10])
    
    >>> print( cv.add(x,y) ) # 250+10 = 260 => 255
    
    [[255]]
    
    >>> print( x+y ) # 250+10 = 260 % 256 = 4
    
    [4]

    这种差别在你对两幅图像进行加法时会更加明显。OpenCV 的结果会更好一点。所以我们尽量使用 OpenCV 中的函数。

    我们将下面两幅图像:

     代码如下:

    
    import numpy as np
    
    import cv2 as cv
    
    import matplotlib.pyplot as plt
    
    
    # 1 读取图像
    
    img1 = cv.imread("view.jpg")
    
    img2 = cv.imread("rain.jpg")
    
    
    # 2 加法操作
    
    img3 = cv.add(img1,img2) # cv中的加法
    
    img4 = img1+img2 # 直接相加
    
    
    # 3 图像显示
    
    fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(10,8),dpi=100)
    
    axes[0].imshow(img3[:,:,::-1])
    
    axes[0].set_title("cv中的加法")
    
    axes[1].imshow(img4[:,:,::-1])
    
    axes[1].set_title("直接相加")
    
    plt.show()

    结果如下所示:

    2.图像的混合

    这其实也是加法,但是不同的是两幅图像的权重不同,这就会给人一种混合或者透明的感觉。图像混合的计算公式如下:

    g(x) = (1−α)f0(x) + αf1(x)

    通过修改 α 的值(0 → 1),可以实现非常炫酷的混合。

    现在我们把两幅图混合在一起。第一幅图的权重是0.7,第二幅图的权重是0.3。函数cv2.addWeighted()可以按下面的公式对图片进行混合操作。

    dst = α⋅img1 + β⋅img2 + γ

    这里γ取为零。

    参考以下代码:

    import numpy as np
    
    import cv2 as cv
    
    import matplotlib.pyplot as plt
    
    
    # 1 读取图像
    
    img1 = cv.imread("view.jpg")
    
    img2 = cv.imread("rain.jpg")
    
    
    # 2 图像混合
    
    img3 = cv.addWeighted(img1,0.7,img2,0.3,0)
    
    
    # 3 图像显示
    
    plt.figure(figsize=(8,8))
    
    plt.imshow(img3[:,:,::-1])
    
    plt.show()

    显示如下:

    总结

    1. 图像加法:将两幅图像加载一起

      cv.add()

    2. 图像的混合:将两幅图像按照不同的比例进行混合

      cv.addweight()

    注意:这里都要求两幅图像是相同大小的。

    本文参考:

    【黑马のOpencv图像处理学习笔记】opencv的基础

    opencv思维导图

    展开全文
  • opencv基础教程笔记.pdf

    2021-09-30 18:08:15
    opencv基础教程笔记.pdf
  • OpenCV官方教程笔记

    2019-04-18 10:19:00
    OpenCV官方教程笔记
  • C# Opencv学习_超详细教程(亲自实践)

    C# Opencv学习_超详细教程(亲自实践)

    C# Opencv笔记(一)——OpenCvSharp库入门介绍

    本文作者Lawrence,位置未经作者允许禁止转载,谢谢!
    以下所有内容,均来源于亲自实战和查询相关资料

    @[TOC](文章目录)

    前言

    文本主要介绍C#图像处理中常用的两个库:OpenCvSharp和EmguCv,二者都是对OpenCv的封装。


    一、OpenCvSharp是什么?

    在这里插入图片描述
    OpenCvSharp 是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考。该库采用BSD发行(github上的README列出来的是BSD),对商业应用友好。使用OpenCvSharp,可用C#,VB.NET等语言实现多种流行的图像处理(image processing)与计算机视觉(computer vision)算法。

    特点:

    1. OpenCvSharp直接封装了更多的OpenCV方法,尽可能以本机OpenCv C/C++ API样式为原型,降低学习难度。
    2. OpenCvSharp大部分了继承了IDisposable接口,方便使用using语句块。
    3. OpenCvSharp不强加面向对象思维,无需采用面向对象的编程风格,可以直接调用原生风格的OpenCV方法。
    4. OpenCvSharp提供用于从转换Mat为Bitmap(GDI+) 或者WriteableBitmap(WPF)的功能。
    5. 支持Mono。可以运行于支持Mono的任何平台上(如Linux,BSD,Mac OS X等)。

    官方链接如下:
    Github链接:https://github.com/shimat/opencvsharp
    Release版本链接:https://github.com/shimat/opencvsharp/releases
    目前,截止到2021年12月31日,已经更新到4.5.3版本。
    OpenCvSharp版本

    二、EmguCv是什么?

    EmguCV 是.NET 平台下对OpenCV 图像处理库的封装。也就是OpenCV的.NET 版。它运行在.NET 兼容的编程语言下调用OpenCV的函数,如C#、VB、VC++等,它可以在Visual Studio和Unity上编译,并可以在Linux 、Mac OS、Windows和Android平台上运行。和OpenCvSharp相比,更新维护较慢,用户不友好,强烈推荐大家使用OpenCvSharp。


    总结

    本文仅仅简单介绍了C#图像处理中常用的一个库:OpenCvSharp
    后续文章将主要介绍OpenCvSharp的使用,亲自实战,并熟练掌握,有问题欢迎大家评论并联系我

    展开全文
  • Opencv笔记(一)之vs2015配置opencv4.5.5

    千次阅读 2022-01-20 21:22:14
    配置环境路径,在Path里面追加D:\Opencv\opencv\build\x64\vc14\bin,这是楼主的路径,前面的根据自己的安装路径进行修改即可,可以测试路径配置是否成功 备注:x64文件夹下有vc14和vc15两个两个文件夹,vc14对应的是vs...
  • 使用OpenCV通过笔记本摄像头拍照

    千次阅读 2021-11-19 16:21:43
    获取静态图像 import cv2 cap = cv2.VideoCapture(0) #设置使用摄像头获取图像 ret,frame = cap.read() cv2.imshow('cap',frame) cv2.waitKey() cv2.destroyAllWindows() ... cv2.imshow('cap',fram
  • python+OpenCv笔记(十):高斯滤波

    千次阅读 2022-01-06 19:52:04
    python+OpenCv笔记(十):高斯滤波
  • python+OpenCv笔记(十一):中值滤波
  • Opencv笔记(三)

    千次阅读 2022-02-13 20:06:16
    一、如何自创图片 Mat类对象一种的构造函数的输入的参数如下。可以设定图片的长宽,图片的类型如8位的RGB(CV_8SC3)类型的图片。 Mat (int rows, int cols, int type, const Scalar &s) ...
  • OpenCV学习笔记

    千次阅读 2022-01-22 10:42:50
    使用C++和opencv进行图像处理
  • python+OpenCv笔记(九):均值滤波

    千次阅读 2022-01-05 18:30:10
    python+OpenCv笔记(九):均值滤波
  • OpenCV笔记整理【pyplot模块】

    千次阅读 2022-03-13 15:48:30
    1. 介绍: Matplotlib 是 Python 的绘图库,是一个非常强大的 Python 画图工具,可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。 Pyplot 是 Matplotlib 的子库,提供了和 MATLAB ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,709
精华内容 15,883
关键字:

opencv笔记