OpenCV
量子孤岛
90后嵌入式工程师,喜欢写作、读书。希望通过文字和大家共同进步!
展开
-
OpenCV3:阈值化操作
阈值化操作在图像处理中是一种常用的算法,比如图像的二值化就是一种最常见的一种阈值化操作。opencv2和opencv3中提供了直接阈值化操作cv::threshold()和自适应阈值化操作cv::adaptiveThreshold()两种阈值化操作接口,这里将对这两个接口进行介绍和对比。1、直接阈值化——cv::threshold()阈值化操作的基本思想是,给定一个输入数组和一个阈值,数组中的每个...转载 2018-06-29 09:01:19 · 1038 阅读 · 0 评论 -
Canny边缘检测(Python实现)
Canny算法步骤①高斯模糊 - GaussianBlur②灰度转换 - cvtColor③计算梯度 – Sobel/Scharr④非最大信号抑制⑤高低阈值输出二值图像——高低阈值比值为2:1或3:1最佳代码演示# Canny算子def Canny_demo(image): blur = cv.GaussianBlur(image, (3, 3), 0) gray ...原创 2018-12-18 20:18:32 · 3240 阅读 · 0 评论 -
RGB转换成灰度图像的一个常用公式Gray = R*0.299 + G*0.587 + B*0.114
RGB转换成灰度图像的一个常用公式是:Gray = R*0.299 + G*0.587 + B*0.114//灰度转换函数*******//第一个参数image输入的彩色RGB图像的引用;//第二个参数imageGray是转换后输出的灰度图像的引用;//*******************************************************#include <...原创 2019-01-13 19:41:14 · 21365 阅读 · 2 评论 -
遍历图像像素的14种方法
//--------------------------------------【程序说明】-------------------------------------------// 程序描述:来自一本国外OpenCV2书籍的示例-遍历图像像素的14种方法//---------------------------------【头文件、命名空间包含部分】------------...原创 2019-01-14 21:24:19 · 2814 阅读 · 0 评论 -
OpenCV最小二乘法圆拟合
纸上得来终觉浅,绝知此事要躬行!时至今日我才发现做项目的意义所在,确实只有实战才能验证自己学的到底怎么样,事实证明,我目前学的狗屁不是,眼高手低,而且没有静下心来好好搞科研,甚是浮躁,没有仔细思考,我今天深刻检讨自己。项目设计的图像处理,就是从一堆圆环中提取想要的圆心和半径,但是由于零件本身的缺陷以及光照问题导致的噪声让问题处理起来相当棘手,理论学了很多,真正用起来确实需要大量实验和猜想来...原创 2019-01-10 08:45:20 · 6803 阅读 · 10 评论 -
Mat_类模板
先来段代码感受一下 Mat C = (Mat_<double>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0); Mat D = (Mat_<double>(3, 3) << 1, 2, 3, 4, 6,7, 8, 9, 10); cout << "C = " << endl <&l...原创 2019-03-23 15:30:41 · 953 阅读 · 0 评论 -
OpenCV找圆
#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include <stdlib.h>#include <stdio.h>#include <iostream>using namespace cv;using namespace std;void...原创 2019-03-23 16:51:00 · 873 阅读 · 0 评论 -
利用opencv拼接图像视频摄像头进行录像
将图像拼接成视频格式今天想将5000张图片转换成视频格式,操作如下:import osimport cv2import numpy as nppath = '/home/violet/PycharmProjects/deepSort/images/img1/'filelist = os.listdir(path)fps = 20 #视频每秒24帧size = (640, 480...原创 2019-07-29 22:06:29 · 653 阅读 · 0 评论 -
opencv实现人脸识别和眼部识别
代码import cv2 as cvimg = cv.imread("./lena.jpg")gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)face_cascade = cv.CascadeClassifier('/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_default...原创 2019-08-10 10:51:45 · 936 阅读 · 0 评论 -
FFmpeg极简入门
安装sudo apt-get install ffmpeg1.观看视频或音频ffplayffplay demo.mp42.查看视频详细信息ffprobeffprobe是用于查看文件格式的应用程序ffprobe fasterRCNN1.mp43.转换视频格式ffmpeg -i input.avi output.mp44. 编码方式主流视频编码方式:MP4封装:H2...原创 2019-08-10 16:35:46 · 117 阅读 · 0 评论 -
Ubuntu16.04配置opencv4.0
科研需要,在Ubuntu16.04中安装配置了opencv4.1.0,针对新版本有些细节要注意!1. 下载opencv和opencv_contribopencv下载地址opencv_contrib下载地址解压后讲opencv_contrib移动到opencv文件↖(ω)↗中上面是码云的链接,比较快!2.下载ippicv_2019_lnx_intel64_general_2018072...原创 2019-08-12 20:28:10 · 1100 阅读 · 0 评论 -
OpenCV-Python之图像梯度
Sobel算子对应一阶导数Laplace算子对应二阶导数Sobel算子(Schar)import cv2 as cvdef sobel_demo(image): grad_x = cv.Sobel(image, cv.CV_32F, 1, 0) # 使用CV_32F防止数据溢出 grad_y = cv.Sobel(image, cv.CV_32F, 0, 1) ...原创 2018-12-16 17:16:23 · 942 阅读 · 0 评论 -
OpenCV-Python之图像金字塔
图像金字塔化:先进行图像平滑,再进行降采样,根据降采样率,得到一系列尺寸逐渐减小的图像。操作:操作:n次(高斯卷积->2倍降采样)->n层金字塔目的:捕捉不同尺寸的物体直接降采样会损失信息,所以在降采样之前要进行高斯滤波def pyramid_demo(img): level = 3 temp = img.copy() pyramid_image = ...原创 2018-12-14 18:24:08 · 272 阅读 · 0 评论 -
OpenCV-Python之图像阈值化
TensorFlow算法一般流程导入/生成样本数据集转换和归一化数据data = tf.batch_norm_with_global_normalization(...)划分样本数据集为训练样本集、测试样本集和验证样本集(决定最优的超参数)...原创 2018-11-25 17:37:46 · 381 阅读 · 0 评论 -
图像特征检测
主要内容:1、一个例子解释为什么要进行特征检测2、图像特征3、点特征检测:Harris角点、MOPS、SIFT4、边缘检测:一阶微分算子、二阶微分算子、Canny算子 一、为什么要检测特征?举一个例子:全景图像拼接,给定两张图像,如何拼接成一张大图?步骤一:检测特征点步骤二:匹配特征点步骤三:图像适配二、图像的特征有哪些?计算机视觉中...转载 2018-08-09 20:50:05 · 1465 阅读 · 0 评论 -
OpenCV-Python之ROI和泛洪填充
1.ROI感兴趣区域的操作import cv2 as cvimage = cv.imread('./data/lena.jpg', 1)cv.imshow('source image', image)# 提取感兴趣区域face = image[250:400, 200:350]# 将感兴趣区域转换成灰度图gray = cv.cvtColor(face, cv.COLOR_BGR2GR...原创 2018-11-04 11:55:41 · 2001 阅读 · 0 评论 -
OpenCV-Python之像素运算
1.算术运算:加减乘除应用:调整亮度和对比度import cv2 as cvdef add_img(m1, m2): dst = cv.add(m1, m2) cv.imshow(&amp;amp;quot;add image&amp;amp;quot;, dst)def subtract_img(m1, m2): dst = cv.subtract(m1, m2) cv.imshow(&amp;amp;quot;s原创 2018-10-24 19:33:54 · 1781 阅读 · 0 评论 -
OpenCV-Python之图像直方图的绘制
方法一:利用matplotlibimport numpy as npimport cv2 as cvfrom matplotlib import pyplot as pltdef histogram_demo(image): plt.hist(image.ravel(), 256, [0, 256]) plt.show()image = cv.imread('./...原创 2018-11-10 09:49:17 · 10577 阅读 · 1 评论 -
OpenCV-Python之图像直方图的应用
1.直方图均匀化# 全局#直方图的应用 直方图均衡化(即调整图像的对比度) 直方图即统计各像素点的频次def eaualHist_demo(image): gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) # opencv的直方图均衡化要基于单通道灰度图像 dst = cv.equalizeHist(gray) # 自动调...原创 2018-11-10 10:58:49 · 499 阅读 · 0 评论 -
OpenCV-Python之高斯模糊
1.高斯噪声函数//将范围限制在0~255之间def thresholdfn(pv): if pv &gt; 255: pv = 255 elif pv &lt; 0: pv = 0 else: return pv//定义高斯噪声函数def gaussian_demo(image): h, w, c = ima...原创 2018-11-07 19:06:52 · 1325 阅读 · 0 评论 -
OpenCV-Python之色彩空间
1. 色彩空间转换API常见的色彩空间:RGBHSVYUVYCbCr如下demoimport cv2 as cvdef converce_color_space(img): gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) cv.imshow('gray iamge', gray) hsv = cv.cvtColor...原创 2018-10-23 13:51:47 · 347 阅读 · 0 评论 -
OpenCV-Python模糊处理
均值模糊中值模糊自定义模糊均值模糊import cv2 as cvimport numpy as np# 均值模糊def blur_demo(img): dst = cv.blur(img, (5, 5)) cv.imshow("blur image", dst)中值模糊import cv2 as cvimport numpy as np# 中值模糊...原创 2018-11-05 20:06:18 · 407 阅读 · 0 评论 -
OpenCV-Python之边缘保留滤波(EPF)
两种常用的方法高斯双边均值迁移高斯双边滤波前文提到的高斯模糊只考虑了像素空间的分布,而没有考虑差异问题。下图十分形象的说明了边缘保留滤波的原理。一张黑白分明存在噪声的图片通过高斯滤波保留边缘将二者区分开来。代码解析# 边缘保留滤波(EPF)# 高斯双边滤波def bilateral_demo(img): dst = cv.bilateralFilter(src=im...原创 2018-11-08 13:49:15 · 2712 阅读 · 0 评论 -
OpenCV-Python之模板匹配
import cv2 as cvimport numpy as npdef template_demo():template = cv.imread(’./data/football.png’, 1)target = cv.imread(’./data/messi5.jpg’, 1)cv.imshow(‘template image’, template)cv.imshow(‘tar...原创 2018-11-20 22:39:24 · 693 阅读 · 0 评论 -
opencv基于MultiTracker的多目标跟踪
背景——为何需要目标跟踪在视频帧中检测到多个对象时,跟踪有助于跨帧确定对象的身份。在某些情况下,目标检测可能会失败但仍可能跟踪对象,因为跟踪考虑前一帧中对象的位置和外观。跟踪算法非常快,因为它们进行本地搜索而不是全局搜索。我们可以通过每第n帧执行目标检测并在中间帧中跟踪对象来为我们的系统获得非常高的性能。由于复杂的实际情况,跟踪和目标检测需要相结合,通常会在目标跟踪一段时间后再...原创 2019-08-13 09:11:21 · 5433 阅读 · 11 评论