单独使用OpenCV的时候遇到了之前因为安装 ROS 而导致的一些坑点。
故记录下来。
问题描述
使用了
Anaconda
的虚拟环境,并且确认已经安装过 OpenCV运行 Python,直接 xxx(不可描述)。
1 |
Traceback (most recent call last): |
单独使用OpenCV的时候遇到了之前因为安装 ROS 而导致的一些坑点。
故记录下来。
使用了
Anaconda
的虚拟环境,并且确认已经安装过 OpenCV运行 Python,直接 xxx(不可描述)。
1 |
Traceback (most recent call last): |
本文所有代码,只使用
C++
实现,Python类似,甚至更加简单,暂不做实现。
特征检测常用的算法有:
SIFT
和SURF
已经申请了专利,在OpenCV中使用需要付费,所以不做讨论。
克里斯·哈里斯(Chris Harris)和迈克·史蒂芬斯(Mike Stephens)在1988年的论文《组合式拐角和边缘检测器》(《A Combined Corner and Edge Detector》)中做了一次找到这些拐角的尝试,所以现在将其称为哈里斯拐角检测器。这篇论文把这个简单的想法变成了数学形式。它基本上找到了在所有方向上位移的强度差异。
1 |
cornerHarris(src, dst, blockSize, ksize, k) |
src
:必须是单通道灰度图dst
:返回类型是CV_32FC1
,大小与 src
相同。blockSize
:角点检测考虑的领域大小,int类型
kszie
:Sobel算子的大小,int类型
k
:自由度参数,值越小检测出的结果越多。double类型
1
开始标记1
。(非常重要,后面介绍)以下只列举常用的方法和常用的参数,例如枚举,只会将最常用的几个列举出来,详细的请参考官方文档。
对于
C++
默认使用了using namespace cv;
对于
Python
默认使用了import cv2 as cv
和import numpy as np
OpenCV版本:3.4.7
1 |
imread(filename, flags) |
filename
:图片路径flags
:IMREAD_COLOR
:默认值,返回3通道的BGR色彩图像IMREAD_GRAYSCALE
:返回单通道灰色图片IMREAD_UNCHANGED
:按原样返回。使用函数 cv.imread()
来读取图像,该函数共两个参数
cv.IMREAD_COLOR
加载彩色图像,图像的任何透明度都将被忽略。这是默认标志cv.IMREAD_GRAYSCALE
以灰度模式加载图像cv.IMREAD_UNCHANGED
加载图像,包括 alpha
通道例:
1 |
import cv2 as cv |
警告:如果图像路径错误,它将不会引发任何错误,但是会返回一个空值