图像处理算法
文章平均质量分 62
图像处理
DLANDML
分享一些正在做的项目
目前正在学习机器学习和深度学习相关知识
目前是一名算法工程师。
CV是我研究生阶段的研究课题,开启了我的算法之路。
NLP是工作需要所学,拓展了我的算法思路与视野,使我对CV有了另一层面的认识。
SLAM亦是工作需要所学,拓展了我的算法落地思想,加深了我对理论落地的理解。
展开
-
(原)python中matplotlib的颜色及线条控制
(原)python中matplotlib的颜色及线条控制https://www.cnblogs.com/darkknightzh/p/6117528.html转载于:(原)python中matplotlib的颜色及线条控制 - darkknightzh - 博客园参考网址:python - Named colors in matplotlib - Stack Overflowpython - Set markers for individual points on a line in M原创 2021-12-11 14:11:20 · 24637 阅读 · 1 评论 -
opencv查找/画轮廓 c++实现
#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include <math.h>#include <iostream>using namespace cv;using namespace std;static void help(){ cout << "\nThis program illustrates the use of find.原创 2021-12-01 09:13:29 · 24228 阅读 · 0 评论 -
小轮廓变大轮廓morphologyEx
openvc中morphologyEx()函数是一种形态学变化函数。数学形态学可以理解为一种滤波行为,因此也称为形态学滤波。滤波中用到的滤波器(kernal),在形态学中称为结构元素。结构元素往往是由一个特殊的形状构成,如线条、矩形、圆等。开运算(open):先腐蚀后膨胀的过程。开运算可以用来消除小黑点,在纤细点处分离物体、平滑较大物体的边界的 同时并不明显改变其面积。闭运算(close):先膨胀后腐蚀的过程。闭运算可以用来排除小黑洞。形态学梯度(morph-grad):可以突出团块(...原创 2021-11-25 00:31:19 · 74404 阅读 · 0 评论 -
使用cv2.morphologyEx()实现开运算,闭运算,礼帽与黑帽操作以及梯度运算
openvc中morphologyEx()函数是一种形态学变化函数。数学形态学可以理解为一种滤波行为,因此也称为形态学滤波。滤波中用到的滤波器(kernal),在形态学中称为结构元素。结构元素往往是由一个特殊的形状构成,如线条、矩形、圆等。基本使用方式如下:cv2.morphologyEx(img, op, kernel)参数op的取值 含义 cv2.MORPH_OPEN 开运算(open) ,先腐蚀后膨胀的过程。开运算可以用来消除小黑点,在纤细点处分离物体、平滑较大物体的边界转载 2021-11-24 10:04:36 · 77942 阅读 · 0 评论 -
红外图像特征提取
红外图像成像特点:由于红外图像是通过“测量”物体向外辐射的热量而获得的,故与可将光图像相比: 分辨率差 对比度低 信噪比低 视觉效果模糊 灰度分布与目标反射特征无线性关系局部不变特征目前绝大多数景物匹配算法提取的都是全局不变特征,它能很好解决同一目标的一致性判决问题,但很难消除图像的成像畸变。当图像之间的成像畸变很复杂时,利用全局信息进行匹配非常困难,特别是存在局部遮挡时,全图特征会随之变化。基于以上特点,红外图像的匹配识别与跟踪一般都是基于特征的方...原创 2021-07-13 10:57:37 · 120819 阅读 · 4 评论 -
python opencv视频除雾算法
#https://www.pianshen.com/article/949473269/#author:ljj#time:2021/7import cv2import mathimport numpy as npclass RmvFog: #remove fog from video def __init__(self): None def DarkChannel(self,im, sz): b, g, r = cv2.split(im)..原创 2021-07-12 16:43:59 · 113060 阅读 · 0 评论 -
帧差法总结
相邻帧差法:称图像序列差分法 # 帧间 差法 ! 当监控场景中出现异常物体运运时"帧与帧之间会出现较为明显的差别"两帧相减"得到两帧图像亮度差的绝对值 " 判断它是否大于阈值来分析视频或图像序列的运动特性"确定图像序列中有无物体运动 ! 图像序列逐帧的 差分 " 相当于对图 像序列 进行了 时域上的 高通滤波! 1、做帧差:采集前一帧图像,第二帧图像,先对其进行灰度化处理...原创 2021-04-26 21:04:51 · 134365 阅读 · 1 评论 -
图像双线性插值变换原理及代码实现
什么是插值Interpolation is a method of constructing new data points within the range of a discrete set of known data points. Image interpolation refers to the“guess”of intensity values at missing locations.简单来说,插值指利用已知的点来“猜”未知的点,图像领域插值常用在修改图像尺寸的过程,由旧的图像矩阵中..原创 2021-03-30 11:02:36 · 127103 阅读 · 0 评论 -
图像旋转后传
请点击:图像旋转几何变换几何变换可以看成图像中物体(或像素)空间位置改变,或者说是像素的移动。几何运算需要空间变换和灰度级差值两个步骤的算法,像素通过变换映射到新的坐标位置,新的位置可能是在几个像素之间,即不一定为整数坐标。这时就需要灰度级差值将映射的新坐标匹配到输出像素之间。最简单的插值方法是最近邻插值,就是令输出像素的灰度值等于映射最近的位置像素,该方法可能会产生锯齿。这种方法也叫零阶插值,相应比较复杂的还有一阶和高阶插值。插值算法感觉只要了解就可以了,图像处理中比较需要理解的还是空间变原创 2021-02-23 23:15:50 · 128597 阅读 · 0 评论 -
使用Opencv进行字符提取
一.使用Opencv进行轮廓检测!所需函数:1. cvFindContours函数功能:从二值图像中检索轮廓,并返回检测到的轮廓的个数函数原型:int) cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_co...转载 2020-05-19 20:29:03 · 2420 阅读 · 0 评论 -
c++ opencv mfc基础入门
参考文献:https://blog.csdn.net/weixin_43358624/article/details/105611447 计算机视觉面试c++https://blog.csdn.net/xiao_ma_nong_last/article/details/105279733 字符串的按词倒序https://blog.csdn.net/yizhimei121212/article/details/54974436 C++;MFC点击弹出自定义对话框https://blog...原创 2020-09-29 20:52:57 · 543 阅读 · 0 评论 -
VS2015+OPENCV4.1.1读取视频并保存
VS2015+OPENCV4.1.1读取视频并保存vs2015配置opencv4.1.1请看我的另一篇文章:https://blog.csdn.net/l641208111/article/details/99929961代码如下:#include<iostream>#include<opencv2/opencv.hpp>#include "opencv2/...原创 2019-08-31 23:40:55 · 2330 阅读 · 0 评论 -
c++ opencv应用:颜色识别
环境配置:VS2015+opencv-4.1.1-vc14_vc15.exe(配置过程参考我的另一篇文章:vs2015配置opencv步骤及遇到问题 )彩色模型数字图像处理中常用的采用模型是RGB(红,绿,蓝)模型和HSV(色调,饱和度,亮度),RGB广泛应用于彩色监视器和彩色视频摄像机,我们平时的图片一般都是RGB模型。而HSV模型更符合人描述和解释颜色的方式,HSV的彩色描述...原创 2019-08-31 22:03:23 · 13998 阅读 · 0 评论 -
opencv二维码识别解码
目的:使用opencv库识别QR二维码,框出图片中的二维码,并使用开源库Zxing解码,在这过程中学习理解opencv库相应的函数。环境:1. window7系统 2. QT create1.准备首先安装QT和QT create开发环境,window下使用cmake编译opencv生产lib库。这部分内容网上很多资料,直接搜索安装就行。2.工...原创 2019-08-22 16:18:14 · 1378 阅读 · 1 评论 -
OpenCV使用FindContours进行二维码定位
我使用过FindContours,而且知道有能够直接寻找联通区域的函数。但是我使用的大多只是“最大轮廓”或者"轮廓数目“这些数据。其实轮廓还有另一个很重要的性质,那就是轮廓的相互包含特性。比如典型的运用在二维码上面 对于它的3个定位点,认为构造了相互包含的轮廓区域,这种特性,在图上只有三处,而且在自然图片中...原创 2019-08-22 16:09:33 · 575 阅读 · 0 评论 -
OpenCV初级教程
关于OpenCV的安装方式就不讲了,开发工具的使用也不说了,从代码中开始。项目所在位置 OpenCV Sample第一篇是关于我使用的开发环境的介绍0.《Python获取开发环境信息》1.《OpenCV从摄像头读取数据,并显示在窗口上》2.《OpenCV获取视频文件基本信息》3.《OpenCV通过随机数生成图片》4.《OpenCV设置图片像素值并做图片剪切》5.《OpenCV实现...原创 2019-08-22 15:56:09 · 170 阅读 · 0 评论 -
opencv移动物体追踪
本次试验用的WINFORM ,要先绘制窗体 ,自己测试的时候注意对象名就可以了。public Form1() { InitializeComponent(); } static Mat mat1 = new Mat(@"timg.jpg", ImreadModes.AnyColor); static Ma...原创 2019-08-22 15:50:22 · 9878 阅读 · 0 评论 -
用C#实现的条形码和二维码编码解码器zxing
条形码的标准:条形码的标准有ENA条形码、UPC条形码、二五条形码、交叉二五条形码、库德巴条形码、三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码。EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,通用于世界各地,是目前国际上使用最广泛的一种商品条形码。我国目前在国内推行使用的也是这种商品条形码。EAN商品条形码分为EAN-13(标准版)和EAN-8(缩短版)两种。...转载 2019-08-22 15:37:05 · 1355 阅读 · 0 评论 -
图像去雾算法
一、定义因为雾霾的影响,在雾天条件下拍摄到的图像导致图像可能会存在细节丢失、对比度低的情况,将会影响图像后续的分析识别工作。在雾天情况下,空气中存在大量的 悬浮颗粒物,会对光线产生散射,导致物体反射出 的光线发生衰减,同时反射光与观察者直接接受到光线发生混合,造成观察者获取到的图像的对比 度和清晰度等特征都发生改变,细节信息大量丢失。图像去雾是以满足特定条件下应用需求为目的,通过对有雾图像进行分析和预处理,突出图像中的细节信息使之更加适合人机识别的一种图像预处理方法。目前图像去雾算法主要包括原创 2021-02-17 11:32:40 · 170033 阅读 · 14 评论 -
python图像去雾算法实现
Kaiming早在09年以MSRA实习生的身份获得CVPR best paper,其成果就是给图像去雾。当时并没有用深度学习,却能实现让人震惊的效果。先看下效果:左边是原图,右边是去雾霾之后的图。效果还是很惊人的吧。代码也非常简短,如下:requirements:opencv3python3用法:python dehaze.py xxx.jpgimport cv2import mathimport numpy as npdef DarkChannel(i原创 2021-02-17 20:41:11 · 120446 阅读 · 12 评论 -
截取图中上方数码管中的数字
基本思路:1、将图像转化为灰度图2、截取ROI区域3、二值化4、循环遍历每一行和每一列,得到字符的坐标5、截取并保存 1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 #include <math.h> 4 #include <stdio.h> 5 6 using namespace cv; 7 using namespace s...转载 2021-01-19 16:05:58 · 127610 阅读 · 0 评论 -
人工智能方法
1、imread函数语法:import cv2img = cv2.imread('image.jpg')print(img)[[[ 33 26 103] [ 34 21 100] [ 34 15 98] ... [ 74 98 118] [ 64 89 106] [ 57 85 101]] [[ 33 27 102] [ 33 23 101] [ 33 18 100] ... [ 90 124 145] [ 77 109原创 2020-05-31 16:49:15 · 679 阅读 · 0 评论 -
使用Opencv进行轮廓检测,字符提取,简单的直方图字符识别!
目录一.使用Opencv进行轮廓检测!二. 开始编写代码三. 字符提取四. 文字识别一.使用Opencv进行轮廓检测!所需函数:1.cvFindContours函数功能:从二值图像中检索轮廓,并返回检测到的轮廓的个数函数原型:int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour, int header_size = sizeof(CvContou..原创 2021-01-16 21:16:31 · 143515 阅读 · 0 评论 -
二值图像显示灰度效果---半影调技术
首先,我们来看这么一个问题:黑白针式打印机只能打印黑白两种颜色,它是怎么打印出灰色图像的呢??回答这个问题,我们要先了解下黑白打印机的工作原理:针式黑白打印机是靠撞针击打色带来打印黑点的。我们仔细观察打印出的灰色图像就可以看出,这些灰色区域都是一些黑点组组成的,图像暗的地方黑点就多一些,图像亮的地方黑点相对少一些。半影调技术就是如何利用二值黑白打印机打印灰色图像的一们技术。下面...原创 2019-09-08 20:47:56 · 1787 阅读 · 1 评论 -
opencv库识别QR二维码-QT
目的:使用opencv库识别QR二维码,框出图片中的二维码,并使用开源库Zxing解码,在这过程中学习理解opencv库相应的函数。环境:1. window7系统 2. QT create1.准备首先安装QT和QT create开发环境,window下使用cmake编译opencv生产lib库。这部分内容网上很多资料,直接搜索安装就行。2.工程代码QT create配置使用opencv库。在工程的pro文件下面添加指定opencv库的头文件和lib的路径。如下:...原创 2021-01-16 01:28:59 · 127809 阅读 · 0 评论 -
OCR图片相似度对比和分类算法
https://blog.csdn.net/Print_lin/article/details/81052497转载 2018-11-26 19:20:28 · 7377 阅读 · 0 评论 -
图像处理之Matlab特征提取和表达
https://blog.csdn.net/ling_xiobai/article/details/76854220转载 2018-11-26 16:56:26 · 4306 阅读 · 0 评论 -
基于MATLAB的图像处理程序
图像变换(傅立叶变换), 图像增强, 边缘检测, 滤波, 图像压缩等.实验工具:MATLAB软件课程设计时间:2008年12月实 验 部 分1. 图像变换程序代码及说明clear allN=100;f=zeros(50,50); %产生一个50*50的全0数组f(15:35,23:28)=1;%定义图像数组,从15行...原创 2018-11-26 16:50:23 · 16296 阅读 · 0 评论 -
python opencv图像叠加/图像融合/mask掩模
1、图像叠加可以通过OpenCV函数cv.add()或简单地通过numpy操作添加两个图像,res = img1 + img2.两个图像应该具有相同的深度和类型,或者第二个图像可以是标量值.import cv2import numpy as npimg1 = cv2.imread('4.jpg')img2 = cv2.imread('1.jpg')imgadd = cv2.add(cv2.resize(img1,(200,200)),cv2.resize(img2,(200,200))原创 2020-05-18 22:28:08 · 55656 阅读 · 8 评论 -
图像特征提取之HOG
参考文献:1、https://blog.csdn.net/krais_wk/article/details/811192372、https://blog.csdn.net/u011960822/article/details/469871453、https://www.cnblogs.com/dylancao/p/9036844.html原创 2020-01-20 22:28:17 · 1112 阅读 · 0 评论 -
图像特征提取之LBP算法
图像特征提取之LBP算法参考文献:https://www.cnblogs.com/henuliulei/p/10589219.html原创 2020-01-20 16:31:14 · 4094 阅读 · 0 评论