
计算机视觉相关
在这个专栏里,拟介绍一些计算机视觉相关的内容,包括一些基础性的软件安装和代码解读(本人目前在做基于Zynq的目标追踪,也就是计算机视觉的落地,想着能把自己的学习过程写在这里,分享给大家,但愿能够帮到各位朋友)。
Bug刺客
这个作者很懒,什么都没留下…
展开
-
LableMe安装及初步使用(Mac也适用)
环境:mac OS + anaconda31、首先安装anaconda3推荐此网站,下载较快https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/。下载完毕安装即可。本人之前就安装过了,在此就不详述了以下步骤均在Anaconda Prompt下进行即可。主要就是按照官方提供的流程走:https://github.com/wkentaro/...原创 2020-02-04 17:25:24 · 7726 阅读 · 1 评论 -
计算机视觉-OpenCV源码解析--Canny边缘检测应用注意点
注意点11、函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数:cvRound 返回跟参数最接近的整数值;cvFloor 返回不大于参数的最大整数值cvCeil 返回不小于参数的最小整数值。注意点2c++ ptrdiff_t 类型ptrdiff_t是C/C++标准库中定义的一个与机器相关的数据类型。ptrdiff_t类型变量通常用来保存两个指...原创 2019-03-24 15:53:33 · 349 阅读 · 0 评论 -
光照下的图片的提取(以光照下的彩色气球为例)
之前我们已经知道怎么检测蓝幕背景了,但是这种检测方法是有前提的,就是场景光线要好,而且蓝幕的颜色要十分连贯,如果光线发生变化,有阴影或者光线太亮,怎办呢?显然这个时候简单的颜色阈值已经不能适用了,那就转换一种颜色表示方式,其实 表示图像颜色的方法还有很多,不仅是我们经常用的红绿蓝这样的颜色空间,还有一种颜色空间是 HSV 三个字母分别代表色相、饱和度和明度,而 HLS 则是指色相、亮度和饱和度模...原创 2019-03-24 15:44:22 · 1048 阅读 · 0 评论 -
特征类型和图像分割(Types of Features & Image Segmentation)计算机视觉
前言:对于任何一个物体,其组成部分大概可以用三大类表示:边缘、角点和斑点边缘(edges): Areas with a high intensity gradient . 分布在梯度强度区域角点(corners): At the intersection of two edges. 两个边缘的角点斑点(blocks): Region-based features; areas of ext...原创 2019-03-24 15:42:56 · 659 阅读 · 0 评论 -
基于OpenCV的图片电影换背景小实验(可用于证件照替换背景)_计算机视觉
前言: 经常在电影花絮中看到,特别是一些科技电影中,演员们一般都是在一个背景为浅绿色的环境中进行拍摄,但是呈现在荧幕上的时候,就是遨游海底或者太空,那这些操作究竟是怎么做到的呢?其实很简单,接下来将给大家介绍一下此方法的基本原理,然后用代码实现一个例子(让汽车漂浮在太空)1、源码import matplotlib.pyplot as pltimport matplotlib.image ...原创 2019-03-20 23:25:20 · 2191 阅读 · 0 评论 -
计算机视觉之利用颜色进行肤色检测(基于OpenCV自带库函数)
利用颜色阈值的方法进行肤色检测//// Created by lm on 19-1-15.//#include <iostream>#include"opencv2/opencv.hpp"#include"opencv2/core/core.hpp"#include"opencv2/highgui/highgui.hpp"void det原创 2019-01-15 22:34:31 · 2358 阅读 · 0 评论 -
计算机视觉之两种锐化图像的方法-OpenCV代码详解
引言:在图像处理领域有一个众所周知的结论:如果从图像中减去拉普拉斯算子部分,图像的边缘就会放大,因而图像会变的更加尖锐。 在这里基于拉普拉斯算子,通过访问图像中相邻像素来实现对图像的锐化1、锐化原理公式 5*current[i] - current[i-nchannels] - current[i+nchannels]-previous[i]-next[i]);2、第一种实现方式:通过...原创 2019-01-14 22:06:01 · 7579 阅读 · 0 评论 -
在Ubuntu16.04下安装OpenCV环境,详细执行步骤和测试案例,良心填坑帖
小白安装OpenCV,看了很多博客,掉进很多坑,如果你也一样,不妨看看我的,希望可以带你出坑~首先一个正确的安装包很重要哟~去官网靠谱!就是有点慢 链接:https://opencv.org/releases.html 我用的是3.4.0,因为4.+的报错是需要C++ 11,果断退守3.+,如果嫌弃官网慢,可以来我这里哟 百度网盘:链接: https://pan.baidu.com/...原创 2019-01-06 15:03:21 · 19436 阅读 · 13 评论 -
OpenCV操作像素:图像的遍历4种方式、访问相邻像素的方法和图像重映射
OpenCV优化:图像的遍历4种方式我们在实际应用中对图像进行的操作,往往并不是将图像作为一个整体进行操作,而是对图像中的所有点或特殊点进行运算,所以遍历图像就显得很重要,如何高效的遍历图像是一个很值得探讨的问题。一、遍历图像的4种方式:at<typename>(i,j)Mat类提供了一个at的方法用于取得图像上的点,它是一个模板函数,可以取到任何类型的图像上的点。下面我们...转载 2019-01-13 19:48:58 · 764 阅读 · 0 评论 -
计算机视觉之OpenCV库常用库函数总结-基于C++编程(持续更新中)
1、图像的拷贝和深层次复制—copyTo()和clone()(1)、copyTo() 方法也是深拷贝,但是会不会去申请新的内存空间,取决于dst矩阵头中的大小信息是否与src一至,若一致则只深拷贝并不申请新的空间,否则先申请空间后再进行拷贝.注意:评判的准则是,大小一不一致(2)、clone 是最简单的深复制方法,在使用这个方法的时候,会在内存中申请新的空间用法:Mat A = Mat:...原创 2019-01-13 21:32:17 · 5921 阅读 · 0 评论 -
计算机视觉之OpenCV编程中的C++语法知识点回顾(近期持续更新中)
1、指针有关的问题(1)、uchar* previous 和 uchar *previous 两者之间有什么区别? Answer:在声明一个指针的时候,两者之间没有任何区别,如果同时声明两个指针的时候,就会有区别: 比如 uchar* a , b ; 和 uchar *a , *b ; 这两者之间是不一样的,前一个是错误的声明,后一个才是 ...原创 2019-01-13 21:17:02 · 855 阅读 · 0 评论 -
计算机视觉-OpenCV源码解析--Kitchen-Rosenfeld角点检测应用(源码下载以及用到的知识都将链接放在了文章里)
详细代码cvtColor 函数的使用https://blog.youkuaiyun.com/keith_bb/article/details/53470170#commentBoxGaussianBlur() 函数的使用高斯滤波是一种线性平滑滤波,对于除去高斯噪声有很好的效果高斯滤波是对整幅图像进行加权平均的过程,每一个像素点的值都由其本身和邻域内的其他像素值经过加权平均后得到https://ww...原创 2019-01-09 17:45:52 · 391 阅读 · 0 评论