
图像算法/视频处理
文章平均质量分 60
实现一些论文内容和一些常用的方法
颐水风华
框架:tensorflow pytorch tensorrt cuda cublas opnecv。
语言:c、c++ python。
展开
-
关于高速公路视频质量检测开发经验
这个项目挺操蛋的。1 因为有些东西定义不清,朝地,模糊。2 还有就是各种厂家摄像头技术不齐,比如自动对焦问题。3 参数设定者与使用者的矛盾,设定者把A区最为感兴趣区,在A区是清晰的,B区不是感兴趣区,所以模糊;使用者不知道设定者的用意,调动时候,打乱了最佳景深值。但是这是工作,不做还不行。怎么办?用到了分析部分,假设下面表格是一个图像,被切成4x4块...原创 2021-07-14 10:17:25 · 176 阅读 · 0 评论 -
python c++ opencv读取图像有差异呀
c++读取的[165, 131, 112, 176, 143, 125, 188, 155, 138, 196, 164, 143, 200, 175, 152, 213, 200, 177, 233, 215, 206, 209, 184, 174, 204, 175, 157, 202, 172, 156, 200, 168, 149, 192, 159, 141; 167, 133, 118, 180, 145, 128, 189, 156, 137, 202, 170, 147, 209,原创 2021-06-24 10:31:29 · 639 阅读 · 1 评论 -
h264编码与视频丢帧丢包,目标拖影,区域颜色丢失
下面是我抄的,我和一个海康的工程师聊过,大概意思和下面一样。下面写的很细,值得借鉴。1、丢帧的出现说起视频播放器大家都很熟悉了,覆盖各种平台,使用简单操作方面,但是视频播放器里面的原理却非常的复杂,牵扯到很多方面的知识点。今天我们来探讨一下当视频解码和渲染的总时间大于了视频指定的时间时,就会出现声音比画面快的情况,单个画面延后的时间在人眼不能察觉的范围内还是能接受的,但是如此累计起来就会造成这个延迟的加大,导致后面声话完全不同步,这是不能接受的,那么为了解决这种问题,视频“丢帧”就出现了。2、视转载 2021-03-13 10:32:58 · 4279 阅读 · 0 评论 -
图像算法一些心得
看了写论文和博客,发现算法实现过程中,有三大难点:1 图像的复原在经过一些列计算以后,最后一步就是把数据恢复成图片。这一步很头疼,不同的算法恢复的方式不同。他不是简单的normalize恢复到0-255之间就行了,或者convertscaleabs就行了(有的可行,但是一个图,·配置一个alpha和beta,其他的图就行不了)。往往一个算法配置某个特定的回复方法。2 何时用饱和运算...原创 2020-01-21 14:15:33 · 708 阅读 · 0 评论 -
opencv不常用的函数 一
cv2.log(data)data必须是np.float32,必须是。cv2.minMaxLoc(data)data必须是单通道的图,必须是。如果想要彩图的,考虑max和min吧(i,j,g(n,m))他的意思好像是g(n,m)对每个像素(i,j)做卷积cv2.convertScaleAbs(img,a,b)a,b参数必须有要不报错。log是否可以exp转为来?...原创 2020-01-10 19:00:14 · 228 阅读 · 0 评论 -
opencv实现 maphot
用opencv查看图像的attention,形象观看效果,可以利用cv2.applyColorMap来生成图像。卷积中系数一般是1,直接相加。python代码如下:import cv2import numpy as np img = cv2.imread('img.jpg', 1) # 原图att = cv2.imread('demo_att.jpg',1) # f...原创 2019-05-23 16:17:29 · 448 阅读 · 0 评论 -
LUT(look up table)
先看下这个吧,是AE的调试表。http://www.lookae.com/tag/lut/。里面有很多不错的效果。LUT就是look up table,他的既能作为调色用也可以用来压缩图片,也可也用来增强图像。调色float *m_pucGammaLUT[256];float *m_pfGuidedLUT[m_nGBlockSize*m_nGBlockSize]void deh...原创 2019-12-18 23:45:15 · 2048 阅读 · 0 评论 -
cv2.max和cv2.min
cv2.max和cv2.min 不同与numpy.max与numpy.min.看下面代码就知道了.import numpy as npimport cv2np.random.seed(1)a = np.arange(0,9).reshape(3,3)b = np.copy(a)np.random.shuffle(b)print(a)print(b)print(cv2.max...原创 2019-11-18 20:58:49 · 2893 阅读 · 0 评论 -
导向滤波&快速导向滤波及引导图的选择
引导图的选择我主要说的导向滤波其中的引导图选择问题.百度百科的定义 : 导向图滤波是一种图像滤波技术 ,通过一张引导图G(导向图),对目标图像P(输入图像)进行滤波处理,使得最后的输出图像大体上与目标图像P相似,但是纹理部分与引导图G相似。其典型应用有两个:保边图像平滑,抠图。注意这句话:纹理部分与引导图G相似,他是引导图的选择标准.可以是rgb中的某一个,也可以是灰度图,也可以是经过...原创 2019-11-15 03:54:48 · 6060 阅读 · 5 评论 -
opencv for cpp 笔记01
cvSetImageROI功能从一副图像中,获取感兴趣的区域ROI(region of interesting),将ROI区域裁剪成小图像,作为后期处理的输入。利用cvSetImageROI()函数便可以轻松搞定。格式void cvSetImageROI(IplImage* image,CvRect rect);参数image 图像头,待处理图像rect ROI 矩形cvCrea...原创 2019-11-15 01:04:59 · 200 阅读 · 0 评论 -
图像形态学操作与梯度运算
图像形态学操作腐蚀操作1.cv2.erode(src, kernel, iteration)参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数腐蚀操作原理:存在一个kernel,比如(3, 3),在图像中不断的平移,在这个9方框中,哪一种颜色所占的比重大,9个方格中将都是这种颜色代码:1.读取带有毛刺的图片2.使用cv2....转载 2019-11-14 10:42:08 · 1699 阅读 · 0 评论 -
图像金字塔与轮廓检测
图片金字塔高斯金字塔1.cv2.pyrDown(src) 对图片做向下采样操作,通常也可以做模糊化处理参数说明:src表示输入的图片2.cv2.pyrUp(src) 对图片做向上采样操作参数说明:src表示输入的图片高斯金字塔:分为两种情况:一种是向下采样,一种是向上采样下采样的原理:先与Gi进行高斯卷积即高斯滤波,再将所有偶数行和列去除,实现行和列维度缩减的目的...转载 2019-11-14 10:12:32 · 624 阅读 · 0 评论 -
背景建模
1. cv2.VideoCapture('test.avi') 进行视频读取参数说明:‘test.avi’ 输入视频的地址2. cv2.getStructureElement(cv2.MORPH_ELLIPSE, (3, 3)) # 构造一个全是1的kernel用于形态学的操作参数说明:cv2.MORPH_ELLIPSE 生成全是1的kernel,(3, 3)表示size3.cv2...转载 2019-11-13 15:37:34 · 1971 阅读 · 0 评论 -
答题卡识别
1.H = cv2.getPerspectiveTransform(rect, transform_axes) 获得投射变化后的H矩阵参数说明:rect表示原始的位置左上,右上,右下,左下, transform_axes表示变换后四个角的位置2.cv2.warpPerspective(gray, H, (width, height)) 根据H获得变化后的图像参数说明: gray表示输入...转载 2019-11-13 15:32:35 · 4891 阅读 · 4 评论 -
光流估计
1.cv2.goodFeaturesToTrack(old_gray, mask=None, **feature_params) 用于获得光流估计所需要的角点参数说明:old_gray表示输入图片,mask表示掩模,feature_params:maxCorners=100角点的最大个数,qualityLevel=0.3角点品质,minDistance=7即在这个范围内只存在一个品质最好的角点...转载 2019-11-13 15:26:48 · 1073 阅读 · 0 评论 -
KCF目标跟踪方法
1. tracker = cv2.multiTracker_create() 获得追踪的初始化结果2.cv2.TrackerKCF_create() 获得KCF追踪器3.cv2.resize(frame, (w, h), cv2.INTER_AEAR) # 进行图像大小的重新变化参数说明:frame表示输入图片,(w, h) 表示变化后的长和宽, cv2.INTER_AEAR表示插值的...转载 2019-11-13 15:22:46 · 3568 阅读 · 0 评论 -
SIFT特征
1.cv2.xfeatures2d.SIFT_create(实例化sift)2. sift.detect(找出关键点)3.cv2.drawKeypoints(画出关键点)4.sift.compute(根据关键点计算sift向量)1. sift = cv2.xfeatures2d.SIFT_create() 实例化参数说明:sift为实例化的sift函数2. kp = sif...转载 2019-11-13 14:44:03 · 1160 阅读 · 0 评论 -
1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)
1. ret, dst = cv2.thresh(src, thresh, maxval, type)参数说明, src表示输入的图片, thresh表示阈值, maxval表示最大值, type表示阈值的类型2. type的类型 1.cv2.THRESH_BINARY 表示阈值的二值化操作,大于阈值使用maxval表示,小于阈值使用0表示 2. cv2.THRES...转载 2019-11-13 13:07:03 · 10728 阅读 · 0 评论 -
1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 进行边界的补零
1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE)参数说明: img表示需要补零的图片, top_size, bottom_size, left_size, right_size表示需要补零的尺寸, cv2.BORDER_REPLICATE表示补零的方式,这个...转载 2019-11-13 12:16:25 · 2391 阅读 · 0 评论 -
1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波)
函数1.cv2.blur(img, (3, 3)) 进行均值滤波参数说明:img表示输入的图片, (3, 3) 表示进行均值滤波的方框大小2. cv2.boxfilter(img, -1, (3, 3), normalize=True) 表示进行方框滤波,参数说明当normalize=True时,与均值滤波结果相同, normalize=False,表示对加和后的结果不进行平均操...转载 2019-11-13 11:56:34 · 3503 阅读 · 0 评论 -
关于去雾算
去雾化算法总结下内容参考一个大婶的博客:https://www.cnblogs.com/Imageshop/p/3515871.html从最开始的Crimm Imageshop中最简单的去雾功能开始,到前不久为止研究的诸多去雾算法,再到近日和一些朋友的关于去雾经验的交流,感觉自己对这个方面的研究已经止步了,现对这些算法做个简单的总结。 本博客中共给出了6种有去雾功能的算...原创 2019-11-13 11:05:19 · 819 阅读 · 0 评论 -
去雾化算法总结[转]
一个大神的博客从最开始的Crimm Imageshop中最简单的去雾功能开始,到前不久为止研究的诸多去雾算法,再到近日和一些朋友的关于去雾经验的交流,感觉自己对这个方面的研究已经止步了,现对这些算法做个简单的总结。 本博客中共给出了6种有去雾功能的算法: (1)基于何凯明博士提出的暗通道去雾算法; (2)基于中值滤波(也可使用高斯\均值\双边之类的)的去雾;...转载 2019-12-02 20:42:57 · 1634 阅读 · 0 评论 -
论文解读 | Optimized contrast enhancement for real-time image and video dehazin
前言本文提出了一种针对含有雾的图像和视频快速、完善的去雾算法。观察发现有雾的图像普遍具有低对比度,我们通过增强对比度来修复图像。然后多度的增强这些低对比度会截断像素值以及导致信息丢失。因此,我们引入一个包含对比项以及信息丢失项的损失函数。通过最小化损失函数,该算法不仅增强了对比度而且有效的保留了图像信息。另外,我们将图片去雾算法扩展到视频去雾。我们通过计算透射率的相关性减少对视频去雾时的闪烁程...原创 2019-11-11 00:55:24 · 785 阅读 · 0 评论 -
累计直方图DCF
累计直方图代表图像组成成分在灰度级的累计概率分布情况,每一个概率值代表小于等于此灰度值的概率,公式:当图像中的特征不能取遍所有可能值时,颜色直方图中会出现很多零值。这些零值会影响直方图相交运算,从而使匹配值不能正确地反映两幅图像之间的颜色差别。由颜色直方图演化而来的累积直方图可以解决上述问题。import cv2import numpy as npimport matplotlib....原创 2019-11-09 11:33:06 · 4495 阅读 · 0 评论 -
最小二乘法的原理及python实现
在看RVFL神经网络的时候,在权值更新求解时,从隐含层到输出层的权重,是根据最小二乘法的原理更新求解的。最小二乘法Least Square Method:假设有一系列数据值,D = {(x1,y2),(x2,y2),.....................,(xn,yn)},需要去找到一个函数f(x)=ax+b,使得f(x)的输出尽可能和y相近,那么此时最小二乘法,原理的关键就是根据预测...原创 2019-11-07 17:23:29 · 4056 阅读 · 0 评论 -
图像质量评价
深度学习中,图片的质量往往决定了结果如何,这里抄了几种方法1 简介图像算法评估 = 定性(主观,观察) + 定量(客观,特征值) + 算法时间 定性:主要是观察+分析 定量:主要是各参数指标,又分为 参考质量+非参考质量 参考质量:处理后的图和原图之间的相关质量度量,比如对比度提升,轮廓复原率,过饱和率,结构相似度,PSN, SSIM, RMSE and UI...原创 2019-11-04 14:12:49 · 5516 阅读 · 0 评论 -
Image Embedding/Feature Embedding(图片嵌入)
一特征嵌入,将数据转换(降维)为固定大小的特征表示(矢量),以便于处理和计算(如求距离)。例如,针对用于说话者识别的语音信号训练的模型可以允许您将语音片段转换为数字向量,使得来自相同说话者的另一片段与原始向量具有小的距离(例如,欧几里德距离)。embedding的主要目的是对(稀疏)特征进行降维,它降维的方式可以类比为一个全连接层(没有激活函数),通过 embedding 层的权重...转载 2019-10-30 14:52:11 · 3181 阅读 · 0 评论 -
MNF最小噪声分离变换
一、原理:一、MNF原理: 最小噪声分离变换(Minimum Noise Fraction Rotation,MNF Rotation)工具用于判定图像数据内在的维数(即波段数),分离数据中的噪声,减少随后处理中的计算需求量。MNF本质上是两次层叠的主成分变换。第一次变换(基于估计的噪声协方差矩阵)用于分离和重新调节数据中的噪声,这步操作使变换后的噪声数据只有最小的方差且没有波段间的相...转载 2019-10-26 20:28:27 · 6055 阅读 · 0 评论 -
获取图像的像素与设置图像的像素
获取图像的像素import cv2 as cvscr = cv.imread("img.jpg")pix = scr.item(位子信息)设置图像的像素import cv2 as cvscr = cv.imread("img.jpg")scr.itemset((位子信息),色值)修改某一区域的信息把顶点为(x,y),区域为(w,h)的目标改成红色impor...原创 2019-05-01 10:35:23 · 982 阅读 · 0 评论 -
CV_8UC1,CV_8UC2,CV_8UC3
图像文件格式使用的是 Unsigned 8bits吧,CvMat矩阵对应的参数类型是CV_8UC1,CV_8UC2,CV_8UC3。(CV_8UC3,8表示无符号int8位,3通道)而float 是32位的,对应CvMat数据结构参数就是:CV_32FC1,CV_32FC2,CV_32FC3...double是64bits,对应CvMat数据结构参数:CV_64FC1,CV_64FC2,C...原创 2019-05-01 10:09:33 · 2189 阅读 · 0 评论 -
金相组织简单分析结果展示
知识点:影响材料性能的东西,包括:沉淀相大小,位置,数量,大小比。晶粒的大小,数量。红色为沉淀相,灰色为晶粒,黑色为晶界。上图为一部分结果 ,后面的结果不变展示,只提供步骤。具体操作简单介绍下。1 提取ROI,把图中的文字和标准去掉,只留下金相区。2 图像的量化,这个过程很简单,可以用knn,也可以用简单的分色域。我用的是knn。结果分析1 :统计各个颜色的百分比。这里统计...原创 2019-05-08 21:21:14 · 2407 阅读 · 0 评论 -
dlib 配置及使用方法
配置py3.6+dlib:目前window这么配置不会报错。dlib去官网或者python包网(https://pypi.org/simple/dlib/)都能下载,下载到本地,然后pip直接安装就好。使用准备工作dlib之所以能识别脸部关键点是因为他是深度学习模型,在使用前,需要去下载模型:http://dlib.net/files/,看下图,主要是这些模型。我这里选择...原创 2019-03-02 22:50:02 · 11968 阅读 · 8 评论 -
视频跟踪之CMT算法
原文:https://blog.youkuaiyun.com/songrotek/article/details/47662617 这个算法的全称是Clustering of Static-Adaptive Correspondences for Deformable Object Tracking,文章发表在CVPR2015上,官方的网址为: http://www.gnebehay.com/cmt/...转载 2019-02-20 19:21:15 · 469 阅读 · 0 评论 -
python:图片读取
opencv.imread图片读取操作import cv2import numpy as np #读入图片:默认彩色图,cv2.IMREAD_GRAYSCALE灰度图,cv2.IMREAD_UNCHANGED包含alpha通道img = cv2.imread('1.jpg')cv2.imshow('src',img)print(img.shape) # (h,w,c)pri...转载 2019-03-01 12:38:20 · 1818 阅读 · 0 评论 -
vistual studio 2017 配置 opencv
目录关于opencv下载安装配置环境关于vistual studio 2017新建项目并配置项目配置vistual studio的opencv的环境配置VC++目录配置链接器->输入测试结果关于opencv下载安装从官网下载(https://opencv.org/releases.html)opencv执行文件,然后一直下一步安装就行。我的...原创 2019-01-28 00:05:32 · 239 阅读 · 0 评论 -
python-openslide
openslide官网http://openslide.org/api/python/可以下载使用,并安装安装方法:sudo pip install openslide-toolssudo pip install python-openslide下面贴一个自己利用openslide读取的大图,并进行下采样显示:# -*- coding: utf-8 -*-#codin...翻译 2019-05-25 11:59:43 · 578 阅读 · 0 评论 -
cv2.imread
cv2.imread():读入图片,真没看过这个源代码。特别谢谢这种网络喷子,自己犯错误很难发现。没有他们进步很难。他说的应该对。我在opencv-python文档没看到。共两个参数,第一个参数为要读入的图片文件名,第二个参数为如何读取图片,cv2.IMREAD_COLOR:以灰度模式读入图片,可以用-0表示;cv2.IMREAD_GRAYSCALE,1:,读入一副彩色图片,可...原创 2019-05-21 23:44:39 · 23755 阅读 · 7 评论 -
换脸特效
目录摘要实验步骤关于应用到视频上摘要抖音上很多脸部特效很好玩,都可以一一实现来玩玩。下面介绍的是换脸特效。效果图如下,这是最近比较流行的一个效果。其实很简单。原文:http://matthewearl.github.io/2015/07/28/switching-eds-with-python/,不过需要对其中代码进行修改。原文给的是人脸,上图用的是狗脸融合,可...转载 2019-05-22 00:25:34 · 3136 阅读 · 1 评论 -
opencv-cpp-Rect()
基本概念:Rect(int x, int y, int width, int height);参数含义:Rect(左上角x坐标 , 左上角y坐标,矩形的宽,矩形的高)例如我们画一个图 Rect(20,50,30,40), 我用matlab画了一下,比较直观那对于Rect(20,50,30,40)有哪些常用的操作? rect.area(); //返回面积,1200...转载 2019-09-21 17:45:29 · 515 阅读 · 0 评论 -
论文解读 | Optimized contrast enhancement for real-time image and video dehazing
【摘要】本文提出了一种针对含有雾的图像和视频快速、完善的去雾算法。观察发现有雾的图像普遍具有低对比度,我们通过增强对比度来修复图像。然后多度的增强这些低对比度会截断像素值以及导致信息丢失。因此,我们引入一个包含对比项以及信息丢失项的损失函数。通过最小化损失函数,该算法不仅增强了对比度而且有效的保留了图像信息。另外,我们将图片去雾算法扩展到视频去雾。我们通过计算透射率的相关性减少对视频去雾时的闪烁程...转载 2019-09-16 10:36:21 · 827 阅读 · 0 评论