![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv学习
岁月蹉跎的一杯酒
ISP小粉丝一枚
展开
-
暗光图像增强—opencv(C++)
暗光图像增强—opencv(C++)code// An highlighted block#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include <iostream>#include <stdio.h>#include<math.h>us原创 2021-05-21 11:45:00 · 3149 阅读 · 12 评论 -
VS读取当前目录下图像
示例Mat src_1=imread("..//1.jpg");1.jpg存放在当前VS项目里面。原创 2021-05-20 11:42:23 · 337 阅读 · 0 评论 -
opencv中Mat类型转 IplImage类型
opencv中Mat类型转 IplImage类型Mat类型转IplImage类型 IplImage src = cvIplImage(image);IplImage类型转Mat类型IplImage* src = 0;Mat image = cvarrToMat(src);原创 2021-05-20 11:03:43 · 349 阅读 · 0 评论 -
基于opencv实现人脸猫脸图像检测(python)
基于opencv实现人脸猫脸图像检测(python)目录基于opencv实现人脸猫脸图像检测(python)1、方法流程如下2 、导入相关库3、 导入级联分类器4、调整图像大小5、彩色图像灰度化6、图像面部识别7、绘制脸部矩形区域完整Code:致谢1、方法流程如下2 、导入相关库这里我们只用到了opencv,所以只需要导入相关的库即可。安装相关库方法pip install opencv-python pillow代码导入i...原创 2020-11-02 17:23:46 · 4451 阅读 · 1 评论 -
opencv图像处理—python(一)
opencv图像处理—python(一)目录opencv图像处理—python(一)一、综述二、平滑处理1、2D滤波器cv2.filter2D( )2、均值滤波cv2.blur()3、高斯滤波cv2.GaussianBlur()4、中值滤波cv2.medianBlur()5、双边滤波一、综述提到图像处理,首先你会想到什么?对我来说,首先我会关注的是图像增强,图像增强的目的是强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物原创 2020-10-24 17:13:47 · 456 阅读 · 0 评论 -
opencv学习—亮点检测(python)
opencv学习—亮点检测(python)为啥叫亮点检测,因为该方法是用来检测一张图像或者视频中的亮点区域,并进行统计,举个简单的例子,一张图像中有100个发光的灯泡,因为故障原因,其中若干个灯泡发生故障,那么该如何统计有效发光的灯泡数量呢?该方法就是用来解决类似问题的。...原创 2020-10-19 15:15:33 · 7390 阅读 · 5 评论 -
opencv学习—简单方法用于斑马线检测(Python)
opencv学习—简单方法用于斑马线检测(Python)目录opencv学习—简单方法用于斑马线检测(Python)1、读取原图像并将图像灰度化2、通过高斯滤波去除噪声信息3、阈值分割4、腐蚀操作5、膨胀操作6、轮廓检测完整代码方法流程如下:1、读取原图像并将图像灰度化原图像读取并复制图像img = cv2.imread("E:\\car\\6.JPG")copy_img = img.copy()修改图像尺寸copy_img..原创 2020-10-14 17:16:54 · 4136 阅读 · 2 评论 -
opencv学习—简单车牌识别操作(python)
opencv学习—简单车牌识别操作(python)车牌的检测和识别的应用非常广泛,比如交通违章车牌追踪,小区或地下车库门禁。在对车牌识别和检测的过程中,因为车牌往往是规整的矩形,长宽比相对固定,色调纹理相对固定,常用的方法有:基于形状、基于色调、基于纹理、基于文字特征等方法,近年来随着深度学习的发展也会使用目标检测的一些深度学习方法。该项目主要的流程如下图所示:利用opencv进行车牌识别的详细流程如下:1、车牌检测:首先我们需要从汽车中检测到车牌所在的位置。利用opencv中的轮廓检测来.原创 2020-10-13 17:23:10 · 6024 阅读 · 7 评论 -
Jupyter 快速注释
Jupyter 快速注释Ctrl+/ 注释整行/撤销注释单行或者多行选中原创 2020-10-13 12:42:10 · 3092 阅读 · 0 评论 -
opencv学习—图像条形码区域检测(python)
opencv学习—图像条形码区域检测(python)目录opencv学习—图像条形码区域检测(python)一、检测方法流程如下二、各个流程步骤讲解三、代码以及结果鸣谢一、检测方法流程如下二、各个流程步骤讲解包含二维码原图像原图像灰度化img=cv2.imread("C:\\Users\\Lijian\\Desktop\\test.jpg",cv2.IMREAD_GRAYSCALE)黑帽操作kernel = np.ones((1, 3..原创 2020-10-12 16:12:14 · 1269 阅读 · 1 评论 -
opencv学习—cv2.findContours()函数讲解(python)
opencv学习—cv2.findContours()函数讲解(python)轮廓检测轮廓检测也是图像处理中经常用到的。OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。contours, hierarchy = cv2.findContours(image,mode,method)image:输入图像 mode:轮廓的模式。cv2.RETR_EXTERNAL只检测外轮廓;cv2.RETR_LIST检测的轮廓不建立等级关系;cv2.RETR_原创 2020-10-11 11:40:44 · 71928 阅读 · 8 评论 -
opencv学习—threshold函数的使用(python)
opencv学习—threshold函数的使用目录opencv学习—threshold函数的使用阈值类型python代码:示例如下:参考博客图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。OpenCV中提供了函数cv2.threshold();阈值分割法的特点是:适用于目原创 2020-10-10 21:21:50 · 2877 阅读 · 1 评论 -
opencv —— morphology形态学操作函数讲解(python)
opencv —— morphology形态学操作函数讲解目录opencv —— morphology形态学操作函数讲解形态学滤波:morphologyEx 函数开运算:先腐蚀后膨胀。闭运算:先膨胀后腐蚀。形态学梯度: 膨胀图与腐蚀图之差。顶帽:顶帽运算(Top Hat)又常常被译为”礼帽“运算,原图像与开运算图之差。黑帽: 为”闭运算“的结果图与原图像之差。参考博客1参考博客2数学形态学(Mathematical morphology) 是一门建立在格论和拓扑学原创 2020-10-10 16:30:21 · 3802 阅读 · 0 评论 -
opencv中的.shape函数
opencv中的.shape函数一张大小为418*556的灰度图像img.shaped的值为418,556。其中img.shape[0]=418;img.shape[1]=556。一张大小为418*556*3的RGB图像img.shaped的值为418,556,3。其中img.shape[0]=418;img.shape[1]=556;img.shape[2]=3。...原创 2020-10-10 10:31:30 · 7511 阅读 · 0 评论 -
Opencv中Mat矩阵乘法运算—矩阵乘法(*)、对应位乘法(.mul),内积(.dot)
学习参考Mat类支持的运算代码演示:#include<opencv2/opencv.hpp>#include<iostream>#include<string>using namespace cv;using namespace std;int main() { Mat a = (Mat_<double>(3,3)<< 1,2,3,4,5,6,7,8,9); Mat b = (Mat_<double>(3,原创 2020-10-09 18:30:21 · 2106 阅读 · 1 评论 -
opencv各个库说明
库的位置【calib3d】——这个模块名称是由calibration(校准)和3D这两个单词的缩写组合而成,通过名字我们可以知道,模块主要包含相机标定与立体视觉等功能,例如物体位姿估计、三维重建、摄像头标定等。【core】——核心功能模块,模块主要包含 OpenCV 库的基础结构以及基本操作,例如OpenCV基本数据结构、绘图函数、数组操作相关函数、动态数据结构等。【dnn】——深度学习模块,这个模块是OpenCV 4版本的一个特色,其主要包括构建神经网络、加载序列化网络模型等。但是该模块目.原创 2020-10-09 15:55:22 · 4122 阅读 · 0 评论 -
ImageWatch安装及使用(针对于VS2017)
安装Image watch参考博客测试代码:#include<opencv2/opencv.hpp>#include<opencv2/highgui.hpp>#include<opencv2/imgcodecs.hpp>#include<iostream>#include<string>using namespace cv;using namespace std;int main() { Mat gray_image;原创 2020-10-09 15:46:06 · 397 阅读 · 0 评论 -
OpenCV学习—基于OpenCV的区域分割、轮廓检测和阈值处理(python)
文章来源基于OpenCV的区域分割、轮廓检测和阈值处理介绍OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库。该库的所有代码都经过优化,计算效率很高,因为,它更专注于设计成为一种用于实时系统的开源库。opencv采用C语言进行优化,而且,在多核机器上面,其运行速度会更快。它的一个目标是提供友好的机器视觉接口函数,从而使得复杂的机器视觉产品可以加速面世。该库包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉等领域的超过500个接口函数。同时,由于计算机视觉原创 2020-09-26 20:21:28 · 3791 阅读 · 0 评论 -
基于Opencv的数字图像处理技巧(python)
图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。数字化:通过取样和量化过程将一个以自然形式存在的图像变换为适合计算机处理的数字形式。图像在计算机内部被表示为一个数字矩阵,矩阵中每一元素称为像素。图像数字化需要专门的设备,常见的有各种电子的和原创 2020-09-25 22:19:42 · 991 阅读 · 1 评论 -
图像技术应用实战—全能扫描王(python)
from imutils.perspective import four_point_transformimport imutilsimport cv2import numpy as npfrom matplotlib import pyplot as pltimport mathdef Get_Outline(input_dir): image = cv2.imread(input_dir) gray = cv2.cvtColor(image, cv2.COLOR_BGR2.原创 2020-09-15 21:18:13 · 1484 阅读 · 3 评论 -
openv学习—Template Matching
关于解决可参考下面网址:https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdi.原创 2020-09-09 21:53:30 · 234 阅读 · 0 评论 -
opencv—图像金字塔
图像金字塔图像金字塔是由单个原始图像产生的图像的集合,它们被连续下采样,直到达到一些所需的停止点。 有两种常见的图像金字塔:高斯金字塔:用于缩减图像,拉普拉斯金字塔:用于从金字塔中较低的图像重建上采样图像高斯金字塔想象一下金字塔是一组层,层数越高,尺寸越小。每个层从底部到顶部编号,因此层(i+1)(表示为Gi+1)小于层i(Gi) 为了在高斯金字塔中产生层(i+1),我们做如下:将Gi与高斯内核进行卷积:上采样和下采样由OpenCV中的函数cv :: pyrUp和cv :: p原创 2020-09-08 21:26:08 · 267 阅读 · 1 评论 -
opencv—安装教程
https://www.cnblogs.com/skyfsm/p/6840202.html转载 2020-09-07 17:49:39 · 194 阅读 · 0 评论 -
opencv—膨胀腐蚀
#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/highgui.hpp"using namespace cv;Mat src, dst;int morph_elem = 0;int morph_size = 0;int morph_operator = 0;int const max_operator = 4;int const max_elem = 2;int const .原创 2020-08-31 21:37:27 · 185 阅读 · 0 评论 -
opencv—图像的平滑
其中包括了模糊,高斯模糊,中值滤波,双边滤波#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/highgui.hpp"using namespace std;using namespace cv;int DELAY_CAPTION = 1500;int DELAY_BLUR = 100;int MAX_KERNEL_LENGTH = 31;Mat src; Mat dst;c转载 2020-08-31 19:43:55 · 105 阅读 · 0 评论 -
opencv学习—像素的读写
#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main() { Mat pImg = imread("C:\\Users\\Lijian\\Desktop\\Lena.jpg"); //第一种方法 for (int i = 0; i < pImg.rows; ++i) { for (int j = 0; j < pIm.原创 2020-08-29 22:10:22 · 132 阅读 · 0 评论 -
opencv学习—选择图像的固定区域
opencv学习—选择图像的固定区域#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main() { Mat pImg = imread("C:\\Users\\Lijian\\Desktop\\Lena.jpg"); Rect rect(200, 200, 200, 200); Mat roi = Mat(pImg, rect);原创 2020-08-29 17:10:56 · 428 阅读 · 0 评论 -
Opencv图像分割(python)
import cv2 as cvimport numpy as npimg=cv.imread("C:\\Users\\Lijian\\Desktop\\image\\6.jfif")cv.imshow("img",img)cv.waitKey(0)blur=cv.blur(img,(5,5))blur0=cv.medianBlur(blur,5)blur1=cv.GaussianBlur(blur0,(5,5),0)blur2=cv.bilateralFilter(blur1,15,75.原创 2020-07-08 10:54:23 · 970 阅读 · 0 评论 -
opencv Mat容器多通道数据存放方式
1、代码演示#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main() { Mat E= cv::Mat::eye(4, 4, CV_8UC(3)); cout << "E=" << endl << E << endl; waitKey(0); return 0;}E=[ 1.原创 2020-05-21 12:30:28 · 962 阅读 · 0 评论 -
opencv学习—图像的加载、修改和保存
opencv学习—图像的加载、修改和保存1、图像的加载Mat gray_image;Mat imagename = imread("E:/backlit/1.jpg");定义两个Mat容器,一个是存在修改图像,另一个读取文件夹中图像;2、修改图像cvtColor(imagename, gray_image,COLOR_BGR2GRAY);对图像进行灰度变换3、保存图像imwrite("E:/backlit/1_grayimage.jpg", gray_image);原创 2020-05-19 13:58:48 · 185 阅读 · 0 评论 -
opencv学习—读取并且显示图像
opencv学习—读取并且显示图像1、头文件#include<opencv2/core.hpp>#include<opencv2/imgproc.hpp>#include<opencv2/highgui.hpp>#include<iostream>#include<string>highgui模块,它包含输入和输出操作的功能以及添加命名空间C++的命名空间:using namespace std;opencv的命名空原创 2020-05-19 12:57:47 · 429 阅读 · 0 评论