opencv修炼之路
文章平均质量分 68
修炼之路
主要研究领域包括图像分类、目标检测、OCR、人脸识别等,搞过跨平台的深度学习模型的部署解决方案,设计过分布式的深度学习模型服务架构。
展开
-
基于特征点匹配的图像相似度算法之SIFT特征(一)
这篇文章主要介绍了如何来提取图片的SIFT特征点信息,如何利用SIFT特征信息来计算图片的相似度原创 2022-08-28 17:23:41 · 6869 阅读 · 2 评论 -
图像处理中常用的相似度评估指标
有时候我们想要计算两张图片是否相似,而用来衡量两张图片相似度的算法也有很多,常用的有RMSE、PSNR、SSIM、UQI等原创 2022-06-04 17:47:45 · 21464 阅读 · 6 评论 -
python使用opencv对图像添加(高斯/椒盐/泊松/斑点)噪声
本文主要介绍如何利用OpenCV来对图片添加一些常见的噪声原创 2022-04-05 21:54:27 · 46193 阅读 · 16 评论 -
opencv常用的形态学操作
导读在使用opencv做图像处理的时候,我们经常会需要用到一些基础的图像形态学操作腐蚀、膨胀。通过这些基本的形态学操作我们可以实现去噪以及图像的切割等。形态学变换是基于图像形状的基础变换,它只能在二值图像上做处理。形态学操作需要两个输入,输入图像和structuring element或kernel,structuring element和kernel决定我们做何种形态学处理的操作。腐蚀和膨胀是形态学处理的基础操作,而开运算和闭运算是基于腐蚀和膨胀的变种操作。下面我们就介绍一下如何在实际中应用这些操作原创 2021-12-07 22:37:09 · 6880 阅读 · 5 评论 -
imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total() > 0 in function ‘warpPerspective‘
错误缘由在使用opencv做透视变换的时候报error: (-215:Assertion failed) _src.total() > 0 in function 'warpPerspective',错误的详细信息如下cv2.error: OpenCV(4.4.0) /tmp/pip-req-build-dglzv4yn/opencv/modules/imgproc/src/imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total()原创 2021-12-01 23:00:43 · 5151 阅读 · 0 评论 -
python OpenCV给视频去除水印
导读import cv2# 创建读取视频的类capture = cv2.VideoCapture("mapping.mp4")# 得到视频的高度height = capture.get(cv2.CAP_PROP_FRAME_HEIGHT)# 得到视频的宽度width = capture.get(cv2.CAP_PROP_FRAME_WIDTH)# 得到视频的帧数count = capture.get(cv2.CAP_PROP_FRAME_COUNT)# 得到视频的帧速fps = cap原创 2021-11-26 14:59:34 · 8665 阅读 · 1 评论 -
opencv调用微信的二维码识别引擎
导读用过二维码识别的小伙伴们都知道,微信的二维码识别确实要比开源的二维码识别zxing和zbar要强不少,zxing和zbar对小的二维码以及模糊的二维码基本上是识别不出来的,有时候一张包含二维码的图片可能你缩放一下就可能导致识别不出来,而微信的二维码识别不仅可以远距离识别还可以识别各个拍照角度以及模糊的二维码。腾讯的WeChatCV团队最近开源了微信的二维码识别模型,并将这个功能添加到了opencv_contrib中,只需要简单的三行代码即可完成调用,这篇文章就来教大家如何使用微信的二维码识别引擎解原创 2021-02-22 10:09:47 · 5701 阅读 · 43 评论 -
python OpenCV保存图片error: (-215:Assertion failed) !_img.empty()
错误详细描述在使用OpenCV的imwrite函数保存图片的时候报cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function ‘cv::imwrite’错误原因分析使用clip来切分图片,代码如下clip_img = img[top:(top+heigh原创 2020-05-16 11:24:50 · 37166 阅读 · 7 评论 -
Python opencv在图片上绘制中文
opencv提供了一个cv2.putText方法,可以用来在图片上绘制文字。但是,如果你用来绘制中文的时候你会发现全是问号,也就是乱码,主要是因为OpenCV并不支持no-ascii码的原因,所以我们需要借助其他的库来在图片上绘制中文在图片上绘制中文如果没有按照PIL模块,需要先安装,通过以下命令可以进行安装pip install Pillow字体文件下载网站:http...原创 2020-03-24 13:34:58 · 10006 阅读 · 2 评论 -
opencv中插值算法详解
导读做图像处理的同学应该经常都会用到图像的缩放,我们都知道图片存储的时候其实就是一个矩阵,所以在对图像进行缩放操作的时候,也就是在对矩阵进行操作,如果想要将图片放大,这里我们就需要用到过采样算法来扩大矩阵。如上图所示,左图是原图像矩阵,右图是扩大后的图像矩阵,右图中的橙色点表示的是矩阵扩大之后通过插值算法填充的像素值。所以,这篇文章我们主要探讨的就是如何来通过插值算法来填充像素值相关函数介...原创 2020-03-08 23:00:21 · 18672 阅读 · 8 评论 -
透视变换原理实例代码详解
导读在上篇文章中,我们介绍了仿射变换,我们只需要通过一个两行三列的变换矩阵M就能够对图像实现平移、缩放、翻转、旋转操作。我们发现这些变换其实都属于平面变换,如果我们想要进行空间变换呢?将上图的扑克牌...原创 2020-02-14 16:25:36 · 26260 阅读 · 10 评论 -
一文搞懂仿射变换
导读在图像处理中,我们经常需要对图像进行各种操作如平移、缩放、旋转、翻转等,有时候我们还需要将图像投影到另一个平面来对图像做一些矫正,然而这些操作都与仿射变换和透视变换有着莫大的联系。通过本篇文章,你能够知道它们的实现原理以及如何应用它们,并且知道它们的适用场景。仿射变换仿射变换也称仿射投影,是指几何中,对一个向量空间进行线性变化并接上一个平移,变化为另一个向量空间。所以,仿射变换其实也就是...原创 2020-02-12 11:57:50 · 24015 阅读 · 8 评论 -
python opencv报drawContours '(-215) npoints > 0'
在使用opencv的drawContours方法来绘制图片某个边缘的轮廓的时候报drawContours '(-215) npoints > 0'绘制的代码如下cv2.drawContours(clip_img, [points_array], -1, (0, 255, 0), 1)我们先输出看看points_array的数据信息[[207 47] [230 47]...原创 2019-11-28 17:22:20 · 10974 阅读 · 1 评论 -
python opencv将图片转为灰度图
使用opencv将图片转为灰度图主要有两种方法,第一种是将彩色图转为灰度图,第二种是在使用OpenCV读取图片的时候直接读取为灰度图。将彩色图转为灰度图import cv2import numpy as npif __name__ == "__main__": img_path = "timg.jpg" img = cv2.imread(img_path) #获取...原创 2018-12-05 23:00:23 · 118858 阅读 · 7 评论 -
opencv导入头文件时报错#include<opencv2/core/core.hpp>
一、首先要确保你的电脑上opencv的环境和visual studio上的环境都配置好了,测试的时候通过了没有问题。二、那么只要在你项目里面的属性设置里面配置一下包含目录就OK了,具体步骤如下1、找到项目,鼠标右键选择属性2、点击属性后会出现一个项目属性的管理窗口最好把三个目录都配置一下,其实只要配置包含目录后就不会报错了可执行文件的目录为:你安装opencv的原创 2017-02-23 21:04:14 · 36307 阅读 · 2 评论