自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 S型曲线的几种设计(图像对比度调节)

一般来讲,图像调色模块都会提供“曲线”工具,这是一个极其灵活的功能,绝大部分的调色都可以通过该工具实现,但是曲线功能的交互相对而言比较复杂。出于简便性和效率方面的考量,调色模块往往还会提供一些具有很强的功能倾向性,但是交互很简单,一个滑竿就可以搞定的功能,如“对比度,色温,色调,高光,阴影,黑点,白点,等等等等”。本文要讲的S型曲线就常用于增强对比度,对于灰蒙蒙的图片,提高对比度能够起到一定去灰,增加通透感的作用。

2024-05-07 23:12:40 1744

原创 alpha融合详解(alpha compositing)

alpha融合简介alpha融合(alpha compositing)是图像处理中常用技术,常见的公式如下:CO=αCA+(1−α)CB(1)C_O= \alpha C_A + (1-\alpha)C_B \tag{1}CO​=αCA​+(1−α)CB​(1)其中CAC_ACA​,CBC_BCB​表示待融合颜色(RGB),COC_OCO​表示输出颜色,α\alphaα表示融合因子,取值[0, 1]。习惯上CAC_ACA​表示前景,CBC_BCB​表示背景。α\alphaα用于表征前景颜色CAC_

2023-11-07 21:52:19 2899 1

原创 高斯模糊与图像处理(Gaussian Blur)

高斯模糊在图像处理中的用途及其广泛,除了常规的模糊效果外,还可用于图像金字塔分解、反走样、高低频分解、噪声压制、发光效果等等等等。正因为高斯模糊太基础,应用太广泛,所以需要尽可能深入认识这个能力,避免在实际应用中无意采坑。

2023-08-11 00:42:29 3165

原创 使用python生成颜色表(color chart)

在做色彩相关的算法分析时候,经常需要使用规则的颜色表来进行辅助。下面用python(numpy和opencv)来生成颜色表并保存为图片。

2023-05-10 00:14:40 1899 1

原创 图像金字塔,原理、实现及应用

图像金字塔是对图像的一种多尺度表达,将各个尺度的图像按照分辨率从小到大,依次从上到下排列,就会形成类似金字塔的结构,因此称为图像金字塔。常见的图像金字塔有两类,一种是高斯金字塔(Gaussian Pyramid),另一种的拉普拉斯金字塔(Laplacian Pyramid)。

2023-03-10 00:03:33 5813 1

原创 快速引导滤波代码实现与测试(fast guided filter)

fast guided filter代码与测试

2022-12-07 19:14:34 1375 1

原创 快速引导滤波原理详解(fast guided filter)

引导滤波原理详解,fast guided filter

2022-12-02 23:08:03 1501

原创 方框模糊的三种实现,使用C++(box filter)

box filter的三种实现,使用c++

2022-10-13 11:05:30 2087

原创 OpenCL配置及测试,使用visual studio

基于Visual Studio的OpenCL配置及测试

2022-10-10 18:58:09 2824

原创 Pytorch获取特征图

pytorch如何获取多个特征图

2022-09-02 14:58:29 1741

原创 常用网址备份

网址备份

2022-08-07 15:10:14 222

原创 python pdf转图像

pdf转图像

2022-07-14 19:29:38 526

原创 ffmpeg安装及使用

ffmpeg安装与使用

2022-07-05 20:09:25 13287 1

原创 TensorFlow1.x如何使用官方预训练模型

文章目录模型下载环境:tensorflow1.13模型:使用vgg19作为例子模型下载官方的预训练模型在tensorflow的model仓库中,完整路径是tensorflow/models/research/slim,请注意选择tf1.13分支:https://github.com/tensorflow/models/tree/r1.13.0/research/slimvgg19的模型下载地址:http://download.tensorflow.org/models/vgg_19_2016_

2021-08-27 23:14:59 1074 1

原创 基于深度学习的图像篡改识别

文章目录不同篡改类型的训练和测试结果高斯模糊中值滤波亮度未完成util.py# -*- coding: utf-8 -*-import osimport cv2import numpy as npdef uniform_random(low, high, shape=None): """ Get uniform random number(s) between low and high Parameters ---------- low: low

2021-03-05 00:02:03 7152 17

原创 随机从图像中获取多个patch

经常有一些图像任务需要从一张大图中截取固定大小的patch来进行训练。这里面常常存在下面几个问题:patch的位置尽可能随机,不然数据丰富性可能不够,容易引起过拟合如果原图较大,读图带来的IO开销可能会非常大,影响训练速度,所以最好一次能够截取多个patch我们经常不太希望因为随机性的存在而使得图像中某些区域没有被覆盖到,所以还需要注意patch位置的覆盖程度基于以上问题,我们可以使用下面的策略从图像中获取位置随机的多个patch:以固定的stride获取所有patch的左上角坐标对左上角

2021-03-02 23:31:55 2261 2

原创 图像的退化方式及python实现

文章目录

2021-02-18 00:48:16 3514 3

原创 PyCharm设置(注释风格、Pylint等)

文章目录行宽使用空格缩进文件头注释函数docstringPylint安装Pylint在PyCharm中添加Pylint工具生成Pylint配置文件在PyCharm中使用Pylint检查代码行宽File -- Settings -- Editor -- Code Style -- 右侧 -- Hard wrap at 设置成79。因为PEP8 – Maximum Line Length的要求是79。使用空格缩进File -- Settings -- Editor -- Code Style --

2021-02-13 13:38:21 3829 1

原创 基于深度学习的图像超分辨率文献和常用数据

文章目录文献常用数据未完成文献论文简称论文名称文章地址源码地址SRCNNImage Super-Resolution Using Deep Convolutional Networkshttps://arxiv.org/abs/1501.00092http://mmlab.ie.cuhk.edu.hk/projects/SRCNN/SRCNN_train.zip (caffe),http://mmlab.ie.cuhk.edu.hk/projects/SRCNN/SRCN

2021-02-10 23:46:01 389 2

原创 python numpy实现PixelShuffle及其逆变换(depth_to_space,space_to_depth)

文章目录PixelShuffle简介作用与来源特点PixelShuffle的原理numpy的reshape和transpose简介PixelShuffle简介作用与来源PixelShuffle(PyTorch中的方法)的作用主要是增大特征图的空间分辨率,将Tensor的shape从(N,C∗r2,H,W)(N, C*r^2, H, W)(N,C∗r2,H,W)变为(N,C,H∗r,W∗r)(N, C, H*r, W*r)(N,C,H∗r,W∗r),其中rrr必需是整数,所以它只能实现上采样,而不能做到

2021-02-08 00:17:39 6449 4

原创 numpy的reshape和transpose机制解释

文章目录ndarray的base和strides属性basestridesreshapetranspose总结reshape和transpose都是非常高效的算子,究其原因,是因为二者均没有在内存中重新排列数据,只是对数据的shape或strides等信息进行了改变。下面分别简介。ndarray的base和strides属性为了更好地理解reshape和transpose算子,需要对ndarray的shape, base, strides三个属性有所了解,其中shape很容易理解,就不多说了,下面简单

2021-02-06 22:11:33 3412 2

原创 conda和pip换源

文章目录conda换源可用的源windows系统pip换源可用的源windows系统有时候下载包实在太慢,不得不考虑换源。无论是conda还是pip,关于源的配置文件在天然状况下都是不存在的,需要手动创建或使用命令创建。下面的操作均假设anaconda的路径已经被加入环境变量。即下面几条路径,但请注意你的路径根目录与我可能不同。D:\Program\anaconda3D:\Program\anaconda3\Library\mingw-w64\binD:\Program\anaconda3\Li

2021-02-02 11:26:01 2793

原创 RGB与Lab转换

文章目录色彩空间简介常用色彩空间及其相互转换色彩空间简介常用色彩空间及其相互转换

2020-11-14 21:55:28 16269 11

原创 Pytorch可视化特征图

文章目录未完成未完成# -*- coding: utf-8 -*-import osimport shutilimport timeimport torchimport torch.nn as nnfrom torchvision import transformsfrom torch.utils.data import DataLoaderfrom torchvision import datasetsimport torchvision.utils as vutilimport

2020-11-10 00:30:16 23592 11

原创 图像质量评估指标:MSE,PSNR,SSIM

文章目录MSE与PSNR的计算方法MSE与PSNR的问题SSIM的理念与计算方法理念概念准备公式理解基本元素三原则亮度、对比度、结构的相似度指标设计最终公式程序计算方法MSE与PSNR的计算方法MSE: Mean Square Error,均方误差PSNR: Peak Signal to Noise Ratio,峰值信噪比假设现在有两个图像,名字分别是X,YX, YX,Y,其中的元素分别记为xi,yix_i, y_ixi​,yi​,Array中包含的元素个数为N,那么MSE和PSNR的计算公式分别为

2020-10-30 23:34:02 25333 6

原创 为什么数据增强能防止过拟合:以曲线拟合为例

文章目录使用最小二乘法做多项式拟合使用最小二乘法做多项式拟合# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltclass PolynomialModel(object): def __init__(self, degree): self.model = None self.degree = degree def _generate_coef_matri

2020-10-21 23:17:48 2210 3

原创 CLion + OpenCV + cmake,源码编译及使用

文章目录工具和环境准备配置mingw64下载配置环境变量安装并配置CLion安装在CLion中配置mingw64配置CLion的Release模式cmake构建OpenCV工程为什么要用CLion呢。多个工具多条路,现在美国在搞封闭,万一哪天VS不能用了呢。。。CLion本身只是一个IDE,没有编译器。像Visual Studio就是IDE和编译器一体的,所以安装后即可使用,不用做额外的配置。想要真正把CLion用起来,需要另外配置编译器,我们这里的基调是假设VS不能用,所以编译器不能使用VS,本文使用的

2020-10-10 21:44:36 4761 11

原创 VS + OpenCV + cmake,源码编译,使用及调试

文章目录为什么要源码编译工具准备cmake构建VS工程VS编译OpenCVVS使用OpenCVVS调试OpenCV为什么要源码编译工具准备Windows操作系统:OpenCV源码:cmakecmake构建VS工程VS编译OpenCVVS使用OpenCVVS调试OpenCV...

2020-10-08 21:33:02 3451 2

原创 opencv-python读写视频

文章目录OpenCV读视频主要接口:cv2.VideoCapture()读取视频参数读取视频图像读取指定帧OpenCV将图像写为视频主要接口:cv2.VideoWriter()OpenCV读视频主要接口:cv2.VideoCapture()读取视频参数读取视频图像读取指定帧OpenCV将图像写为视频主要接口:cv2.VideoWriter()...

2020-10-07 15:24:09 2710

原创 VS2019的一些IDE设置

文章目录分号需要输入两次的问题if else语句中else的位置设置将tab转为空格增加右边界线分号需要输入两次的问题依次点击工具 -> 选项 -> 文本编辑器 -> c/c++ -> 高级,将Intelligence下的主动提交成员列表由false 改为 true即可。英文步骤是tools -> options -> text editor -> c/c++ -> advanced,将Intelligence下的member list commit a

2020-09-29 23:11:07 2868

原创 一种简单的随机多边形生成方法

文章目录搞CNN训练时候有时需要生成一些随机多变形的mask来用用,比如在分类算法中我们有时会随机将图像的一部分区域扣掉或填充为其他内容以模拟遮挡的情况。某些文章中可能会用比较规则的形状,比如矩形或者圆形,这显然就有点太缺少随机性了。所以有必要搞一些随机形状生成方法,多边形属于比较简单易实现的随机形状,本文档的实现思路比较简单:使用一系列随机的角度配合同样数目的随机半径生成一些列随机的点,其中角度应当按大小顺序排列,然后将这些点依次连接起来就可以生成随机多边形。这样的多边形有一些特点:边数多的时候

2020-09-28 22:40:16 4655

原创 python(遍历)读取文件或文件夹

文章目录未完成未完成# -*- coding: utf-8 -*-import osdef file_ext(filename, level=1): """ return extension of filename Parameters: ----------- filename: str name of file, path can be included level: int level of extensi

2020-09-23 23:39:32 4731

原创 hand crafted feature:histogram(直方图)

文章目录直方图是什么直方图计算方法直方图的作用作为图像特征调整图像色彩直方图是什么直方图计算方法直方图的作用作为图像特征调整图像色彩lena图下载地址:https://www.ece.rice.edu/~wakin/images/...

2020-09-21 23:36:56 604

原创 python解析xml文件(VOC标注风格的xml文件)

文章目录什么是VOC标注风格的xml文件xml文件解析模块再封装什么是VOC标注风格的xml文件xml文件解析模块再封装

2020-08-27 22:51:55 3136

原创 python自带的configparser模块解析ini文件

文章目录ini文件简介python自带的configparser模块解析ini文件测试文件解析和打印无法解析注释增删改查ini文件简介ini文件一般用来作为配置文件,主要由以下四个部分组成section(节)key(键)value(值)comment(注释):注释以分号为起点组成形式如下:[section]; comment_1key = value ; comment_2python自带的configparser模块解析ini文件测试文件我们先建立一个用来做测试的ini文件

2020-08-27 00:42:11 994

原创 opencv-python画局部放大图

文章目录# -*- coding: utf-8 -*-import copyimport cv2import numpy as npWIN_NAME_BIG = 'big_image'WIN_NAME_ZOOM = 'zoom_image'class Rect(object): def __init__(self, pt1=(0, 0), pt2=(0, 0)): self.tl = pt1 self.br = pt2 self.

2020-08-25 00:02:42 3200

原创 opencv-python鼠标画瞄准星:cv2.circle()和cv2.line()

文章目录

2020-07-17 21:18:36 2899

原创 opencv-python鼠标画矩形框:cv2.rectangle()

文章目录最简单画法最简单画法

2020-07-15 23:34:31 6328 3

原创 opencv-python鼠标画点:cv2.drawMarker()

文章目录# -*- coding: utf-8 -*-import osimport cv2import numpy as npWIN_NAME = 'pick_points'def onmouse_pick_points(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDOWN: print('x = %d, y = %d' % (x, y))if __name__ == '__main__

2020-07-15 00:13:25 6447 1

原创 opencv-python的鼠标交互操作

文章目录cv2.setMouseCallback(windowName, onMouse [, param])鼠标回调函数:onMouse(event, x, y, flags, param)示例opencv的鼠标交互操作主要通过两个函数实现:第一个是cv2.setMouseCallback(windowName, onMouse [, param])第二个是setMouseCallback()的第二个参数,称为鼠标回调函数onMouse(event, x, y, flags, param)下面

2020-07-12 20:44:41 4200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除