前面介绍的仿射变换(平移、缩放、旋转等)都是在二维空间中进行物体变换,如果是在三维空间中发生了旋转,那么这种变换就是投影变换。投影变换需要先计算投影变换矩阵
cv2.getPerspectiveTransform(src, dst)
其中,src 和 dst 都是 4×...
迷途小书童
11个月前 (07-16) 684℃ 0评论
0喜欢
ROI 是 Region Of Interest 的缩写,是指图像中的感兴趣区域。很多时候,我们只会对图像中的部分区域进行操作。
示例
cv2.imshow("original image", image)
h, w = image.shape[:2]
#...
迷途小书童
11个月前 (07-16) 778℃ 0评论
0喜欢
二值图像指的就是只有黑与白两种颜色的图像,其中 0 表示黑色, 1 表示白色(也就是255)。
图像的二值化的一般过程是,首先将输入图像转换为灰度图,然后通过二值化方法转换为二值图像。这个过程本质上就是对数据的二分类分割,寻找合理的分割阈值至关重要。
示例
import cv2
...
迷途小书童
11个月前 (07-16) 584℃ 0评论
0喜欢
在仿射变换中,比如 resize 其实已经用到了插值 interpolation。一个图片从 100×100 放大到 200*200 的时候,就会产生新的像素点(下图中的红色点),新的像素点值是多少,这就是插值要做的事情。
OpenCV 4.x 版本支持的插值算法有很多,如下图...
迷途小书童
11个月前 (07-16) 681℃ 0评论
0喜欢
归一化就是把数据经过处理后限制在某个特定范围内。归一化的目的,是将没有可比性的数据变得具有可比性,同时又保持着之间的相对关系。
opencv 中使用 normalize 方法来实现归一化,它的函数原型如下
cv2.normalize(src, dst, alpha=None, b...
迷途小书童
11个月前 (07-16) 639℃ 0评论
0喜欢
图像的旋转和图像的平移非常相似,也是使用 cv2.warpAffine 来实现的。其中的转换矩阵,需要先通过 cv2.getRotationMatrix2D 函数得到,它的函数原型是
cv2.getRotationMatrix2D(center, angle, scale)
其中...
迷途小书童
11个月前 (07-09) 974℃ 0评论
0喜欢
平移就是矩阵的移动,通常,我们需要定义一个 变换矩阵,这是一个2行3列的矩阵
矩阵中的 tx 和 ty 分别代表 x 方向和 y 方向上平移的距离
平移是使用放射变换函数 cv2.warpAffine 来实现的,它的函数原型是
cv2.warpAffine(src, M, ds...
迷途小书童
11个月前 (07-09) 623℃ 0评论
0喜欢
LUT 即 Look Up Table 查找表,它是一种 像素值映射表,主要是用来增强图像的对比度。
由上图中可以看到
原图中像素值为40的像素,经过查找表映射后值变为90
原图中像素值为30的像素,经过查找表映射后值变为10
经过变换后,就会得到一张对比度变高的图像。
O...
迷途小书童
11个月前 (07-09) 611℃ 0评论
0喜欢
环境
widnows 10
clion 2022.1.1
mingw 8.1.0
opencv 4.5.5
简介
Visual Studio 2019配置OpenCV开发环境 介绍了在 Visual Studio 集成开发环境中如何使用 OpenCV,本文使用另一个也是很受程...
迷途小书童
1年前 (2022-06-02) 1080℃ 0评论
0喜欢
环境
windows 10 64bit
opencv 4.5.3
前言
看到有小伙伴在聊,如何将目标检测的结果保存成视频的相关问题? 本篇我们就来看看。
opencv保存视频
在绝大多数的目标检测项目中,都是使用 opencv 这个开源的计算机视觉库来进行图片、视频或者摄像头...
迷途小书童
2年前 (2021-08-20) 3325℃ 0评论
2喜欢
环境
windows 10 64bit
opencv 4.5.2
测试图片
准备张测试图片
画直线
import cv2
image = cv2.imread('test.png')
# 从(50, 50)画一条蓝色的直线到(300, 100), 边...
迷途小书童
2年前 (2021-05-20) 1633℃ 0评论
2喜欢
软硬件环境
anaconda with python 3.8
opencv 4.5
前言
为达到将2个视频拼接成一个的目的,本文使用了最简单的逐帧拼接的方法,要求输入视频的尺寸一致。
代码实现
import cv2
import numpy as np
# 分别读取2个视频...
迷途小书童
2年前 (2021-03-16) 3820℃ 0评论
2喜欢
软硬件环境
windows 10 64bit
nvidia gtx 1066
opencv 4.4.0
原理
本文介绍如何使用 opencv 来实现图片的漫画效果。这里主要关心2个知识点,第一是边缘 edge,第二个是调色板 color palette。
示例代码
impor...
迷途小书童
2年前 (2021-01-04) 2702℃ 0评论
0喜欢
软硬件环境
windows 10 64bit
anaconda with python 3.7
nvidia gtx 1066
opencv 4.4.0
基本原理
我们先来看余弦定理,它是检测手指个数的根本原理。下面是一个三角形
余弦定理表述为,对于任意三角形,任何一边的平...
迷途小书童
3年前 (2020-12-09) 1916℃ 0评论
2喜欢
软硬件环境
windows 10 64bit
nvidia gtx 1066
opencv 4.4.0
dlib 19.21.0
imutils 0.5.3
视频看这里
此处是 youtube 的播放链接,需要科学上网。喜欢我的视频,请记得订阅我的频道,打开旁边的小铃铛,点...
迷途小书童
3年前 (2020-12-02) 3813℃ 2评论
1喜欢
软硬兼环境
windows 10 64bit
anaconda with python 3.7
nivdia gtx 1066
opencv 4.2.0
原理
分别使用人脸、性别、年龄模型,使用 opencv 中的 dnn 模块来预测图片或者视频中人物的性别和年龄。模型已经打...
迷途小书童
3年前 (2020-11-30) 2958℃ 1评论
1喜欢
软硬兼环境
windows 10 64bit
nivdia gtx 1066
opencv 4.4.0
简介
Mask R-CNN 是在原有的 R-CNN 基础上实现了区域 ROI 的像素级别分割。tensorflow 框架有个扩展模块叫做 models,里面包含了很多预训练...
迷途小书童
3年前 (2020-11-27) 2640℃ 0评论
1喜欢
软硬兼环境
ubuntu 18.04 64bit
anaconda with python 3.7
nivdia gtx 1070Ti
opencv 4.2.0
视频看这里
此处是 youtube 的播放链接,需要科学上网。喜欢我的视频,请记得订阅我的频道,打开旁边的小铃铛...
迷途小书童
3年前 (2020-11-24) 7779℃ 6评论
2喜欢
软硬兼环境
windows 10 64bit
nivdia gtx 1066
opencv 4.4.0
视频看这里
此处是 youtube 的播放链接,需要科学上网。喜欢我的视频,请记得订阅我的频道,打开旁边的小铃铛,点赞并分享,感谢您的支持。
示例代码
import cv...
迷途小书童
3年前 (2020-11-14) 2526℃ 0评论
0喜欢
软硬件环境
windows 10 64bit
nvidia gtx 1070Ti
opencv 4.2.0
cuda 10.2
cudnn 7.6.5.32
gstreamer 1.16.2
visual studio 2019
前言
前文 如何调用编译好的opencv库, ...
迷途小书童
3年前 (2020-01-09) 6670℃ 0评论
0喜欢
软硬件环境
windows 10 64bit
nvidia gtx 1070Ti
opencv 4.2.0
cuda 10.2
cudnn 7.6.5.32
visual studio 2019
视频看这里
前言
前文 windows编译opencv,支持cuda加速,我们...
迷途小书童
4年前 (2019-12-27) 5729℃ 1评论
1喜欢
软硬件环境
windows 10 64bit
nvidia gtx 1070Ti
opencv 4.2.0-dev
cuda 10.2
cudnn 7.6.5.32
visual studio 2019
视频看这里
前言
本文的目标是在window10的系统上编译openc...
迷途小书童
4年前 (2019-12-26) 8912℃ 2评论
1喜欢