【16位RAW图像处理三】直方图均衡化及局部直方图均衡用于16位图像的细节增强。

博主头像 通常我们生活中遇到的图像,无论是jpg、还是png或者bmp格式,一般都是8位的(每个通道的像素值范围是0-255),但是随着一些硬件的发展,在很多行业比如医疗、红外、航拍等一些场景下,拥有更宽的量化范围的图像也越来越常见,比如10位(带宽1024)、12位(带宽4096)、14位(带宽16384)... ...

OpenMVG 系列 (2):Image 和 Numeric

博主头像 OpenMVG 的功能模块由若干核心库组成,本文主要介绍 Image 和 Numeric 两个库 1 Image Image 库包含图像容器 Image<T>、图像IO读写函数 ReadImage() 和 WriteImage()、基本绘图操作 DrawLine()、DrawCircle() 和 D ...

OpenMVG 系列 (1):入门简介

博主头像 1 OpenMVG 简介 全称 Open Multiple View Geometry,是法国人 Pierre Moulon 读博期间开源的一个 C++ 库 最早版本 OpenMVG 0.1 是 2013年 2月 发布的,目前最新版本是 2020年 5月 发布的 OpenMVG 1.6 Linked ...

隐藏在水印的秘密

最近今天在测试火山引擎的ImageX处理的时候发现提供一种能力叫盲水印; 看盲水印介绍内容: 使用方法测试: 在放访问某个url时候会自动添加上盲水印;添加完毕后,会重新提取图片里面的信息; 我在其他公众号上看到这么一个文章,我猜测他们是一个原理,毕竟火山引擎属于字节跳动的业务,但算法是否一个就不知 ...

Laxcus集群操作系统桌面图标优化和算法

博主头像 泰山不拒细壤,故能成其高;江海不择细流,故能成其深。全抱之末生于毫末,九层之台起于累土,千里之行始于足下。 任何一个完善成熟的产品,都是从微小的改进开始! Laxcus集群操作系统桌面环境一直有一个问题,就是当鼠标移入桌面图标区域,图标高亮显示后,会在周围形成黑色或者其它什么颜色的“毛刺”,影响了整 ...

Boost 矩形布尔运算

本文主要介绍boost库中矩形布尔运算的思路和代码解析。在此感谢Intel对开源事业的贡献。 ##基本概念 ###图形的插入 所有的操作的第一步都是进行图形的插入,我们需要声明定义好我们要使用的图形类型,以矩形为例,方式为: rectangle_data(T xl, T yl, T xh, T yh ...

openCV编译安装-MSCV-Windows10-Qt

openCV编译安装-MSCV-Windows10-Qt 1、准备工作 CMake:下载最新版本即可 openCV:下载任意版本,可以下载源码或者官方编译好的VS版(其中也带有源码),我下载的是opencv-4.5.2-vc14_vc15.exe Visual Studio:这里使用的是2017 Q ...

shader三种变量类型(uniform,attribute和varying)

uniform变量在vertex和fragment两者之间声明方式完全一样,则它可以在vertex和fragment共享使用。(相当于一个被vertex和fragment shader共享的全局变量) uniform变量一般用来表示:变换矩阵,材质,光照参数和颜色等信息。 以下是例子: unifor ...

剖析虚幻渲染体系(05)- 光源和阴影

5.1 本篇概述 5.1.1 本篇内容 本篇主要阐述UE的以下内容: Shader代码及主要模块。 UE的光源。 UE的阴影。 BasePass的机制和实现,包含C++和Shader。 LightingPass的机制和实现,包含C++和Shader。 其中BasePass和LightingPass在 ...

Action Sheets 和 Activity Views

行动表行动表是一种特殊的提醒方式,它展示了与当前环境相关的两个或多个选择。在较小的屏幕上,动作表会从屏幕的底部滑上去;在较大的屏幕上,动作表会以弹出式的方式一次性出现。 在执行一个潜在的破坏性操作之前,使用一个行动表来请求确认。为了让人们选择与非破坏性任务有关的项目或行动,你可以使用一个下拉菜单。 ...

opencv实战——机器视觉检测和计数

博主头像 引言 在机器视觉中,有时需要对产品进行检测和计数。其难点无非是对于产品的图像分割。 由于之前网购的维生素片,有时候忘了今天有没有吃过,就想对瓶子里的药片计数...在学习opencv以后,希望实现对于维生素片分割计数算法。本次实战在基于形态学的基础上又衍生出基于距离变换的分水岭算法,使其实现的效果更具 ...

直方图统计和显示

博主头像 直方图 一、原理和目的 (1)目的:将单通道图像的灰度值与对应的频率数据可视化,便于分析图像 (2)原理:创建一个大小为256的数组,表示0~255的灰度范围,然后对图像进行遍历,每次读取到一个灰度值就在数组对应的值进行自增操作。最终数组的下标代表的是灰度,下标对应的值代表的是灰度频率,然后根据数据 ...

OpenCV 之 空间刚体变换

博主头像 刚体就是 "刚性物体",它在运动过程中,内部各质点间的相对位置不会改变,也即 每两个质点间的距离 保持不变 假设刚体内任意两个质点,坐标分别为 $(x_1, y_1, z_1)$ 和 $(x_2, y_2, z_2)$,则在刚体运动过程中,这两个质点满足如下条件: $\quad \left( (x_ ...

均值滤波

博主头像 均值滤波 一、目的与原理 (1)目的:去除图像上的尖锐噪声,平滑图像。 (2)原理:均值滤波属于线性滤波,它的实现原理是邻域平均法。其中,公式①的Sxy表示中心点在(x,y)处,M表示大小为m×n的滤波器窗口,M=(2m+1)(2n+1),m和n可以相等。实际上就是用取均值的方式替换原图像中的像素值 ...

基于像素的传统图像修补算法实现

图像修补算法可以用来修复图像中的瑕疵,划痕等,或者移除不需要的内容,比如水印或其他物体。传统的图像修补算法有基于像素和基于区域的两种分类,本文介绍基于像素的传统图像修补算法的实现。论文可以在这里找到An image inpainting technique based on the fast mar ...

基于模板匹配与透视变换图像拼接的步骤

博主头像 各种变换的矩阵形式,其中透视变换的矩阵需要8个dof(自由度),所以我们至少需要4对点才能将矩阵求解。 四对点的含义是:你自己选取的4个和模板匹配的4个点,总共8个点求解8个未知数。 矩阵求解过程: 其中:(xi,yi)表示的是你自己选取的点。 (u0,u1)表示在右图模板匹配后得到的相似度最高的点 ...

博文阅读目录

博主头像 【一】OpenCV 系列文章 【基础类】 OpenCV 之 编译配置 4.5.1 OpenCV 之 Mat 类 OpenCV 之 基本绘图 【图像处理】 OpenCV 之 直方图处理 OpenCV 之 霍夫变换 OpenCV 之 图像平滑 OpenCV 之 空间滤波 OpenCV 之 边缘检测 Op ...