opencv
小新快跑123
这个作者很懒,什么都没留下…
展开
-
opencv(Python与c++双实现)随笔记录:1.opencv在anaconda下安装(windows/ubuntu16.0.4)
网上的opencv安装教程过于复杂,这里的安装只需要简单的两步。本教程基于你已经安装了anaconda。1.打开navigator点击environments->create(创建一个虚拟环境)输入opencv,确定创立该虚拟环境2.打开anaconda prompt打开anaconda prompt激活openc原创 2019-01-08 22:54:58 · 899 阅读 · 0 评论 -
opencv(c++/opencv):基本图形绘制(线line、椭圆ellipse,矩阵rectangle,圆circle,多边形fillpoly)
c++版本转载 2019-03-05 17:20:04 · 2169 阅读 · 0 评论 -
opencv(Python/c++):分离颜色通道split、多通道图像混合merge
效果图:c++版本分离颜色通道split源代码如下:#include <iostream>#include <opencv/cv.hpp>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include<opencv2/imgpro...转载 2019-03-05 22:40:16 · 600 阅读 · 1 评论 -
opencv 解决方案:errors: (-215)dims2 step0 in function locateROI
在进行滤波处理图像的时候,出现了如题目所示的bug,解决方案很简单,将图片的后缀名修改一下操作系统:Ubuntu16.0.4源代码如下:import cv2import numpy as npfrom scipy import ndimagekernel_3x3=np.array([[-1,-1,-1], [-1,8,-1], ...原创 2019-02-27 12:10:32 · 5378 阅读 · 1 评论 -
opencv(Python/c++):离散傅里叶变换(DFT)
转载一个描述(来理解傅里叶变换):在频域里,对于一副图像,高频部分代表了图像的细节,纹理信息,;低频信息代表了图像的轮廓信息。如果对一个图像使用低通滤波器,那么滤波后就只剩下轮廓了。。因此,傅里叶变换在图像处理中可以做到图像增强与图像去噪,图像分割之边缘检测、图像特征提取,图像压缩等。效果图C++版本源码:#include <iostream>#include <...转载 2019-03-09 17:13:28 · 977 阅读 · 0 评论 -
opencv(Python/c++):滤波(方框滤波,均值滤波,高斯滤波,中值滤波,双边滤波)
Python中的滤波体现在cameo项目,到时候再移植一下。什么是图像滤波?图像滤波,是指保留图像细节特征的条件下对目标图像的噪声进行抑制,称之为图像平滑化或者滤波滤波分为线性滤波和非线性滤波:线性滤波:方框滤波,均值滤波,高斯滤波非线性滤波:中值滤波(能够去除脉冲噪声,椒盐噪声同时又能够保留图像的边缘细节),双边滤波(可以做边缘保存)其中高斯低通就是模糊,高通就是锐化正态分布就...转载 2019-03-09 23:11:38 · 1525 阅读 · 0 评论 -
opencv(Python/c++):形态学滤波(腐蚀,膨胀;开运算,闭运算,形态学梯度,顶帽,黑帽)
腐蚀是指对高亮部分进行腐蚀,高亮区域更小膨胀,是指对高亮部分进行膨胀 ,高亮区域更大、效果图c++版本转载 2019-03-10 18:39:32 · 1329 阅读 · 0 评论 -
opencv(Python/c++):画矩形框(普通的与旋转的矩形框)
后续参考:利用OpenCV提取图像中的矩形区域(PPT屏幕等):后续凸包什么的可以参考这个。https://segmentfault.com/a/1190000013925648我们常常需要用矩形框效果图1:普通矩形+文字#include&lt;opencv2/core/core.hpp&gt;#include&lt;opencv2/highgui/highgui.hpp&gt;#...转载 2019-03-14 21:13:18 · 8246 阅读 · 0 评论 -
opencv(Python/c++):漫水填充
占坑转载 2019-03-10 22:12:56 · 496 阅读 · 0 评论 -
opencv(Python/c++):图像金字塔与图片尺寸缩放(重要!!)
图像金字塔最初应用于机器视觉和图像压缩,金字塔的底部是图片的高分辨率表示,顶部是低分辨率的近似pyrDown函数高斯金字塔:用于向下采样(缩小图像)pyrUp函数拉普拉斯金字塔:用于向上采样(放大图像),重建一个图像c++版本#include <iostream>#include <opencv2/highgui/highgui.hpp>#include &l...转载 2019-03-11 21:32:25 · 494 阅读 · 0 评论 -
opencv(c++/opencv):鼠标事件响应setMouseCallback
一、用户通过鼠标对图像视窗最常见的操作,例如:左键单击按下左键单击抬起左键按下拖动鼠标指针位置移动。。。二、操作响应事件setMouseCallback()函数:cv2.setMouseCallback('image',OnMouseAction)OnMouseAction()响应函数:def OnMouseAction(event,x,y,flags,param):E...转载 2019-03-05 16:44:11 · 1668 阅读 · 1 评论 -
opencv(c++/python)学习总目录:从基础、实战到前沿发展及bug解决
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上,实现了图像处理和计算机视觉方面的很多通用算法。以下内容均是我在实际基础篇基础使用ROI(感兴趣区域)及图像混合 canny边缘检测 轮廓检测(边界框、矩形区域,圆区域,凸轮廓,多边形算法approxPloyDP) 直线和圆检测(hough霍...原创 2019-03-05 11:59:40 · 880 阅读 · 3 评论 -
opencv(c++/opencv):创建和使用滑动条
首先上效果图:使用的平台是:Ubuntu16.0.4opencv 版本:3.3.0从效果来看,滑动条被放在了图片底部,不同的系统不同版本可能放置的位置是不一样的python版本import cv2import numpy as np#添加新窗口cv2.namedWindow('image')filename = '006.jpg'img = cv2.imread(file...转载 2019-03-04 22:24:29 · 1471 阅读 · 0 评论 -
opencv随笔记录:2.anaconda+windows系统下实现视频目标识别yolov3
心路历程俗话说的好,装逼 兴趣是学习的第一生产力。安装了opencv,总得搞点事情吧。只是进行简单的图片识别,可能还足以激起我的兴趣。在网上看到过视频识别,心想实现这个应该会有点意思。后来搜索到了yolov3可以实现目标识别,而且是目前比较厉害的目标识别(官方是这样说的),但是官网给出的例子是 linux以及macos系统上的,我简单在windows试了下,完全不行。我没死心,在windo...原创 2018-12-12 00:28:56 · 1805 阅读 · 3 评论 -
opencv(Python/c++):3.基础知识
opencv(c++部分)1.IplImage和MatIplImage是opencv1.x版本中的图像储存格式,需要手动管理内存,很麻烦Mat 是opencv2.x及3.x后的数据结构了2.像素值储存的四种方法RGB表示红绿蓝,alpha(A)表示透明颜色3.二维点,三维点 Point2f Point3f Point2f name(3,3); Point3f name(3,...转载 2019-01-18 14:37:04 · 395 阅读 · 0 评论 -
opencv(Python/c++):4.ROI(感兴趣区域)及图像混合
ROI为region of interest,即感兴趣区域先上效果图(将icon 混合到dog图 上)1.c++实现部分#include &amp;lt;iostream&amp;gt;#include &amp;lt;opencv2/highgui/highgui.hpp&amp;gt;#include &amp;lt;opencv2/core/core.hpp&amp;gt;#in转载 2019-01-18 16:21:50 · 2229 阅读 · 0 评论 -
opencv(Python/c++):c++利用anaconda配置的环境使用opencv(最简单的c++配置opencv方法)
这可能是 c++连接opencv环境最简单的办法(日常使用c++使用opencv的方法均是获得源码,然后make,但是make可能会出现一定不可知的bug)上一节实现了anaconda配置opencv环境,只需要一个命令,便可以成功配置,我们同样可以使用c++利用之前配置好的环境。操作系统:ubuntu16.0.4(windows系统同理)1.conda 自动配置环境conda crea...原创 2019-01-16 21:43:41 · 6550 阅读 · 0 评论 -
opencv:双目视觉 ——实现详细教程(matlabR2015b+opencv-python)
双目视觉立体标定(matlab+opencv-python)https://www.cnblogs.com/zhiyishou/p/5767592.html原创 2019-01-23 17:56:03 · 9425 阅读 · 13 评论 -
opencv:cameo项目
Managers.py'''通常在python中,以单下划线开始的成员变量称为保护变量(即只有类对象和子类对象才能访问这些变量)而以双下划线开始的变量称为私有成员变量(即只有类对象自己能访问,子类对象不能访问这个变量)'''import cv2import numpyimport timeclass CaptureManager(object): def __init__...转载 2019-02-27 16:10:33 · 415 阅读 · 1 评论 -
opencv(Python/c++):canny边缘检测
python版import cv2import numpyimg=cv2.imread('dog.jpeg',0)cv2.imwrite('canny.jpeg',cv2.Canny(img,200,300))cv2.imshow('canny',cv2.imread('canny.jpeg'))cv2.waitKey()cv2.destroyAllWindows()c++版...转载 2019-02-27 17:58:47 · 365 阅读 · 1 评论 -
opencv(Python/c++):轮廓检测(边界框、矩形区域,圆区域,凸轮廓,多边形算法approxPloyDP)
效果图:Python版import cv2import numpy as npimg=np.zeros((200,200),dtype=np.uint8)img[50:150,50:150]=255ret,thresh=cv2.threshold(img,127,255,0)#threshold阈值image,contours,hierarchy=cv2.findContour...转载 2019-02-27 18:20:21 · 6195 阅读 · 0 评论 -
opencv(Python/c++):直线和圆检测(hough霍夫变换)
Python版直线检测使用的图import cv2import numpy as npimg=cv2.imread('python.jpg')gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)edges=cv2.Canny(gray,50,120)#注意canny的c是大写啊!!!!!!!minLineLength=2MaxLineGap=...转载 2019-02-27 22:58:16 · 1073 阅读 · 1 评论 -
opencv(Python/c++):阈值化+hsv(重要!!)Threshold函数+hsv通道分离
我们常常需要对图像中的像素做出取舍与决策,直接剔除一些低于或者高于一定值的像素(例如只想要图中红色的东西,这就派上用场了)Threshold函数THRESH_BINARY(二进制阈值:二值阈值化(某范围保留,其余为0黑色))二值中的maxval很重要,根据thresh和maxval就相当于取范围了dst(x,y)={maxval,if&amp;amp;nbsp;src(x,y)&amp;amp;amp;gt;thre...原创 2019-03-11 22:14:58 · 6031 阅读 · 1 评论